Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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
Reactjs 从父级更改第三方组件的状态_Reactjs - Fatal编程技术网

Reactjs 从父级更改第三方组件的状态

Reactjs 从父级更改第三方组件的状态,reactjs,Reactjs,我正在使用第三方组件进行日期拾取,我想从其父组件更新其日期状态。因为它是一个第三方组件,所以我有点受限——比如告诉它监听状态变化 有什么想法吗?我想做一些类似的事情: childComponent.state.dateRange=newState 或 childComponent.setState({foo:newState})您可以使用父级的状态更改日期选择器的日期。请参见下面的示例 class Parent extends React.Component { constructor(pr

我正在使用第三方组件进行日期拾取,我想从其父组件更新其日期状态。因为它是一个第三方组件,所以我有点受限——比如告诉它监听状态变化

有什么想法吗?我想做一些类似的事情:

childComponent.state.dateRange=newState
childComponent.setState({foo:newState})

您可以使用父级的状态更改日期选择器的日期。请参见下面的示例

class Parent extends React.Component {
  constructor(props){
    super(props)
    this.state = {
      date: '20/04/2016 16:23:56',
    }
  }
  changeDate(newDate) {
    this.setState({
       date: newDate, //Change the date here
    })
  }
  render() {
   return <Calendar
      dateFormat="DD/MM/YYYY HH:mm:ss"
      defaultDate={this.state.date}
    />
  }
}
类父级扩展React.Component{
建造师(道具){
超级(道具)
此.state={
日期:“20/04/2016 16:23:56”,
}
}
变更日期(newDate){
这是我的国家({
日期:newDate,//在此处更改日期
})
}
render(){
返回
}
}
使用
this.changeDate
newDate
作为参数调用
changeDate()
。这将更改日期选择器的日期


希望有帮助。

您不能更改任何其他组件的状态。我相信他们会提供一种方式,将数据作为道具传递;除非您稍微修改第三方组件,否则这是不可能的。例如,您可以添加您可以传入子组件中管理的道具并更新其状态。您可以添加有关您正在使用的第三方组件的详细信息吗?@PraneshRavi我正在使用react date picker的MultiMonthView组件。示例如下: