В некоторых случаях нам нужно переопределить или добавить дочерние реквизиты, чтобы получить желаемые результаты. Более конкретная ситуация может заключаться в перезаписи некоторых функциональных возможностей библиотечного компонента при нажатии.

Чтобы продемонстрировать, позвольте нам иметь 2 компонента в нашем приложении

  1. ParentComponent
    ParentComponent является оболочкой MyButton, и главное, что в настоящее время ParentComponent не контролирует свойства компонента MyButton. Итак, все, что передается в качестве реквизита MyButton, будет выполняться в соответствии с логином внутри MyButton.

2. MyButton
Здесь этот компонент просто добавляет свойства к своему щелчку

Итак, как и ожидалось, при нажатии кнопки мы получаем «Привет, я поддерживаю».

Перезапись опоры

Предположим, теперь та же самая кнопка должна напечатать «Hi, I am overwritten prop», и мы не можем изменить реквизиты, но можем манипулировать логикой в ​​его родительском компоненте, поэтому здесь я использовал React.cloneElement.

Добавление реквизита

Опять же, та же самая кнопка должна выполнять props 'по щелчку', а также print «и я добавлен», и мы не можем изменить props, но можем манипулировать логикой в ​​его родительском компоненте, поэтому здесь я добавляю обе функции onClick в функцию customClick .

Ура! Удачного кодирования!