Props proxy — это паттерн Higher-Order Component (HOC), который позволяет тебе перехватывать, изменять и передавать пропсы обёрнутому компоненту перед его рендерингом.
Паттерн props proxy работает путём создания компонента-обёртки, который:
function HOC(WrappedComponent) {
return class extends Component {
render() {
const newProps = {
title: 'New Header',
footer: false,
showFeatureX: false,
showFeatureY: true
}
return <WrappedComponent {...this.props} {...newProps} />
}
}
}
newProps содержит пропсы, которые ты хочешь добавить или переопределить{...this.props} сначала передаёт все исходные пропсы{...newProps} затем применяет новые или изменённые пропсы, переопределяя конфликтующие ключиProps proxy предпочтительнее inheritance inversion, потому что он безопаснее, проще в композиции и не вмешивается в методы жизненного цикла обёрнутого компонента.
В props proxy HOC распределение {...this.props} перед {...newProps} гарантирует, что новые props переопределят любые конфликтующие свойства из исходных props.
Новый — ещё не проверен сообществом
Вы