Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从选择值更新组件_Javascript_Reactjs - Fatal编程技术网

Javascript 从选择值更新组件

Javascript 从选择值更新组件,javascript,reactjs,Javascript,Reactjs,有一个select从API获取ID, 然后我有一个显示数据的表 如果我定义一个类似示例的状态this.state={value:23}; 该表显示的数据没有问题 我试图实现的是在更改select后更新表。 我可以通过console.log(event.target.value)获取所选的值;但我一直在尝试将此值传递给: 重新渲染桌子!感谢您的帮助 class.Component{ 建造师(道具){ 超级(道具); this.state={value:23}; this.handleChang

有一个select从API获取ID, 然后我有一个显示数据的表

如果我定义一个类似示例的状态this.state={value:23}; 该表显示的数据没有问题

我试图实现的是在更改select后更新表。 我可以通过console.log(event.target.value)获取所选的值;但我一直在尝试将此值传递给:

重新渲染桌子!感谢您的帮助

class.Component{
建造师(道具){
超级(道具);
this.state={value:23};
this.handleChange=this.handleChange.bind(this);
this.handleSubmit=this.handleSubmit.bind(this);
}
手变(活动){
this.setState({value:event.target.value});
日志(event.target.value);
}
handleSubmit(事件){
this.setState({value:this.state.value});
//event.preventDefault();
}
渲染(){
让行星=this.props.state.planets;
让optionItems=行星.map((行星)=>
{planet.id}
);
返回(
{optionItems}
)

}
您必须在
表中使用
组件WillReceiveProps(props)
类,每当您更新父组件中的状态时,该类将被调用。在该方法中,您可以再次调用fetch方法


事实上,您在传递
道具方面没有任何问题。您应该在更新组件后使用lifecycle hook发出附加请求,但不要忘记检查值是否更改

像这样:

表格组件

componentDidUpdate(prevProps) {
    if (prevProps.value !== this.props.value) {
        this.fetchData()
    }
}