В некоторых случаях нам нужно переопределить или добавить дочерние реквизиты, чтобы получить желаемые результаты. Более конкретная ситуация может заключаться в перезаписи некоторых функциональных возможностей библиотечного компонента при нажатии.
Чтобы продемонстрировать, позвольте нам иметь 2 компонента в нашем приложении
- ParentComponent
ParentComponent является оболочкой MyButton, и главное, что в настоящее время ParentComponent не контролирует свойства компонента MyButton. Итак, все, что передается в качестве реквизита MyButton, будет выполняться в соответствии с логином внутри MyButton.
2. MyButton
Здесь этот компонент просто добавляет свойства к своему щелчку
Итак, как и ожидалось, при нажатии кнопки мы получаем «Привет, я поддерживаю».
Перезапись опоры
Предположим, теперь та же самая кнопка должна напечатать «Hi, I am overwritten prop», и мы не можем изменить реквизиты, но можем манипулировать логикой в его родительском компоненте, поэтому здесь я использовал React.cloneElement.
Добавление реквизита
Опять же, та же самая кнопка должна выполнять props 'по щелчку', а также print «и я добавлен», и мы не можем изменить props, но можем манипулировать логикой в его родительском компоненте, поэтому здесь я добавляю обе функции onClick в функцию customClick .
Ура! Удачного кодирования!