Скажем, у меня следующий компонент:Могу ли я изменить родительское состояние компонента в ReactJs?
class LeftPanel extends React.Component {
constructor(props) {
super(props);
this.state = {abc: 'xyz'};
}
render() {
return (
<div>
<Thumb src={img1}/>
<Thumb src={img2}/>
</div>);
}
Внутри компонента, есть внутренний компонент под названием Thumb, который идет как есть:
class Thumb extends React.Component {
constructor(props) {
super(props);
this.state = { src: props.src };
}
render() {
return (
<div>
<img src={this.state.src}></img>
</div>
);
}
}
Вопрос: Могу ли я изменить состояние компонента LeftPanel внутри Thumb? Если да, то как?
Да, добавить метод 'LeftPanel', который изменяет состояние, а затем передать этот метод в качестве опоры для' Thumb'. Уже есть [вопросы, которые задают этот вопрос] (http://stackoverflow.com/questions/35537229/how-to-update-parents-state-in-react). – Jack
Также почему вы копируете реквизиты в Thumb? Это похоже на проблемный шаблон, вы не должны этого делать. –
Я верю, что на ваш вопрос ответили в этом документе. У вас была возможность прочитать его еще? https://facebook.github.io/react/docs/lifting-state-up.html –