Reactjs 传递一次更改功能道具不';t工作物料界面选择器反应

Reactjs 传递一次更改功能道具不';t工作物料界面选择器反应,reactjs,material-ui,Reactjs,Material Ui,有必要从道具的子组件传递它是一个更改,但是道具的验证消失了,并且状态没有更改 我的无状态组件 从“@material ui/pickers”导入{KeyboardDatePicker}; 从“@date io/moment”导入MomentUtils; 从“@material ui/pickers”导入{MuiPickersUtilsProvider}”; 常量选择器=({dateOnChange,dateOfOrdinance})=>{ } 我的父组件 export default clas

有必要从道具的子组件传递它是一个更改,但是道具的验证消失了,并且状态没有更改

我的无状态组件
从“@material ui/pickers”导入{KeyboardDatePicker};
从“@date io/moment”导入MomentUtils;
从“@material ui/pickers”导入{MuiPickersUtilsProvider}”;
常量选择器=({dateOnChange,dateOfOrdinance})=>{
}
我的父组件

export default class Case extends Component {  
    state={dateOfOrdinance: new Date()}
    render() {
    return (
        <Picker dateOnChange={(date)=> 
             this.setState({dateOfOrdinance: date}) />
    )
  }
}
导出默认类大小写扩展组件{
状态={dateOfOrdinance:new Date()}
render(){
返回(
this.setState({dateOfOrdinance:date})/>
)
}
}

如果我在父级声明它,那么一切都会好起来,会有验证,状态会改变

这行有问题

<Picker dateOnChange={(date)=> this.setState({dateOfOrdinance: date}) />

在子组件中从何处获得
dateOfOrdinance
?通过PROPS传递它,但父组件有
this.setState({dateOfOrdinance:date})/>
它没有传递
dateOfOrdinance
哦,真的没有设置,ty)另一点您应该关心->您的树中不应该有多个MuiPickersUtilsProvider副本。在顶层使用一次
<Picker dateOnChange={(date)=> this.setState({dateOfOrdinance: date}) />
<Picker dateOfOrdinance={this.state.dateOfOrdinance} dateOnChange={(date)=> this.setState({dateOfOrdinance: date}) />