Я переносил одно из своих приложений на ES6 на узле / реагировании, и у меня есть вопрос о том, как реквизиты передаются детям. Я прочитал кучу сообщений, и некоторые обращаются к этому, а другие нет. По сути, я видел вот что:
export default class SomeComponent extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
{this.props.text} <<< Props used here
</div>
);
}
}
Но мне удалось заставить свой компонент работать со следующим:
export default class SomeComponent extends React.Component {
constructor() {
super(); <<< notice no props in parentheses
}
render() {
return (
<div>
{this.props.text} <<< Props used here
</div>
);
}
}
Есть ли причина, по которой я должен передавать реквизиты в круглых скобках для моего конструктора и супервызова? или я могу оставить свой код таким, какой он есть
2 ответа
Вы должны передать props, потому что вы расширяетесь от React.Component, иначе вам не будет разрешен доступ к this.props в конструкторе.
Это какая-то композиция.
Вам не нужно передавать props в super, если вы не хотите использовать this.props в конструкторе.
https://stackoverflow.com/a/34995257/3238350
Похожие вопросы
Связанные вопросы
Новые вопросы
reactjs
React — это библиотека JavaScript для создания пользовательских интерфейсов. Он использует декларативную парадигму на основе компонентов и стремится быть эффективным и гибким.