Я не знаю, существует ли это вообще. Я пытаюсь повторно использовать компонент, однако компонент, который я пытаюсь повторно использовать, получает реквизиты и уже обрабатывает их внутри компонента.
Если я повторно использую этот компонент в другом месте, мне придется изменить все полученные реквизиты.
Это обычное дело при разработке в React или я что-то делаю не так?
Повторное использование - это то, в чем React действительно хорош, поэтому я предполагаю, что вы делаете что-то не так. Возможно, лучше всего опубликовать код, чтобы лучше объяснить вашу проблему.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я думаю, вам следует разделить компонент с реквизитом на два:
Компонент A. Функциональность (и все необходимые реквизиты)
Компонент B. Тип контейнера без подпорок, только удерживающий компонент A
Надеюсь, это вам поможет!
Да - обычное дело и часто разрешается с помощью HoC (компоненты высокого порядка)
ссылка: https://reactjs.org/docs/higher-order-components.html
Пример
function logProps(WrappedComponent) {
return class extends React.Component {
componentWillReceiveProps(nextProps) {
console.info('Current props: ', this.props);
console.info('Next props: ', nextProps);
}
render() {
// Wraps the input component in a container, without mutating it. Good!
return <WrappedComponent {...this.props} />;
}
}
}
const EnhancedComponent = logProps(WrappedComponent);Спасибо, что указали на это! (Я новичок, чтобы отреагировать, что вы думаете о моем ответе, это всего лишь мое мнение ...)
В вашем ответе в основном описывается паттерн HoC! :)
Спасибо за то, что позаботились об этом! Я собирался добавить пример, но ваш идеален! React потрясающий! логика логична! ;) Спасибо за ваше время!
ИМО, это запах кода, что повторно используемый компонент должен быть новым компонентом. Другими вариантами могут быть декомпозиция частей компонента в новый компонент, чтобы их можно было повторно использовать, если есть очевидная закономерность.