Reactjs同级组件未获取更新的状态值
1) 如何将此值作为道具传递给Child1组件 2) 如果我只是将状态值传递给Child1组件,我不会在Child1中获得更新的值- 关注不同的文章-关于兄弟姐妹之间传递道具,但没有任何效果。。 家长:Reactjs同级组件未获取更新的状态值,reactjs,react-jsx,Reactjs,React Jsx,1) 如何将此值作为道具传递给Child1组件 2) 如果我只是将状态值传递给Child1组件,我不会在Child1中获得更新的值- 关注不同的文章-关于兄弟姐妹之间传递道具,但没有任何效果。。 家长: 导出默认类父扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 切换数据:“”, }; } handleToggle(value){//将更新后的值获取为“value” this.setState({toggledata:value}); } render(){ 返回( ); }
导出默认类父扩展组件{
建造师(道具){
超级(道具);
此.state={
切换数据:“”,
};
}
handleToggle(value){//将更新后的值获取为“value”
this.setState({toggledata:value});
}
render(){
返回(
);
}
}
Parent.propTypes={
参数:PropTypes.object,
};
儿童2:
class Child1 extends Component {
constructor(props) {
super(props);
this.state = {
text: '',
};
}
handleClick(event) {
this.setState({ text: 'green' }, () => {
this.props.callbackFromParent(this.state.text);
});
}
render(){
return (
<a onClick={() => { this.handleClick(event) }} href="">
Click me
</a>
);
}
}
export default Child1;
类Child1扩展组件{
建造师(道具){
超级(道具);
此.state={
文本:“”,
};
}
handleClick(事件){
this.setState({text:'green'},()=>{
this.props.callbackFromParent(this.state.text);
});
}
render(){
返回(
);
}
}
导出默认的Child1;
您没有将此
绑定到回调。
您是this。setState
不是为您的家长调用的,而是在Child2
中调用的。handleToggle
中的此
的上下文来自Child2,如果不绑定,则不是父级
您应该在该代码中得到一个错误。然后如何调用this.setState以在Child2中发生单击,并在父组件中注册它并将其传递给Child1-这是我实际的问题-可能是我没有将其更正,并且我已使用bind进行了更新。。
class Child1 extends Component {
constructor(props) {
super(props);
this.state = {
text: '',
};
}
handleClick(event) {
this.setState({ text: 'green' }, () => {
this.props.callbackFromParent(this.state.text);
});
}
render(){
return (
<a onClick={() => { this.handleClick(event) }} href="">
Click me
</a>
);
}
}
export default Child1;