Javascript 反应:单击“从父组件更新子组件”
我试图在另一个名为侧边栏的组件中单击一个数字时显示一个数据表。我有一个父组件ShowTable和两个子组件侧栏和表。然而,因为我在表中有componentDidMount,所以它只在第一次单击时显示表。在第二次单击时,表不会更改,因为它已经装入。有人知道我如何解决这个问题,以便每次单击都能重新加载表吗?那么,如何从父组件触发子组件中的函数,或者使用什么来代替componentDidMount?我尝试使用componentDidUpdate,这样每当道具发送新序列时,组件都会再次加载,但它会开始内循环 功能手柄在显示表中选择:Javascript 反应:单击“从父组件更新子组件”,javascript,reactjs,Javascript,Reactjs,我试图在另一个名为侧边栏的组件中单击一个数字时显示一个数据表。我有一个父组件ShowTable和两个子组件侧栏和表。然而,因为我在表中有componentDidMount,所以它只在第一次单击时显示表。在第二次单击时,表不会更改,因为它已经装入。有人知道我如何解决这个问题,以便每次单击都能重新加载表吗?那么,如何从父组件触发子组件中的函数,或者使用什么来代替componentDidMount?我尝试使用componentDidUpdate,这样每当道具发送新序列时,组件都会再次加载,但它会开始内
handleSelect=(value)=>{
this.setState( {serial: value, showComponent: true} )
console.log(this.state.serial)
}
{this.state.showComponent ?
<Table s={this.state.serial}/>:
null
}
在渲染显示表中:
handleSelect=(value)=>{
this.setState( {serial: value, showComponent: true} )
console.log(this.state.serial)
}
{this.state.showComponent ?
<Table s={this.state.serial}/>:
null
}
提前谢谢 我不认为这是关于父母和孩子之类的,这只是关于在
componentdiddupdate
中编写正确的代码,从而防止无限循环。请在这里发布您以前的尝试,即导致循环的尝试。如果(this.props.s!=prevProps.s).如果您想“重新装载”组件,这就是方法。“单击”的工作原理与“showComponent”一样感谢您的两个答案!通过正确使用componentDidUpdate,我成功地解决了这个问题。