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}) />