Моя проблема в том, что я хочу отобразить Switch с defaultvalue = {true}
, если this.state.params4GInfo.status4G = 1
, в противном случае Switch с defaultvalue = {false}
. Но проблема здесь в том, что this.state.params4GInfo.status4G
равняется undefined
в начале, тогда оно принимает значение 1 после рендеринга компонента. так как мне ждать, пока this.state.params4GInfo.status4G
займет 1?
Вот мой компонент:
class MyComponent extends React.Component {
componentDidMount(){
this.props.getParameteres4GAction()
}
static getDerivedStateFromProps(nextProps, prevState) {
if (nextProps.params4GInfo !== prevState.params4GInfo && nextProps.params4GInfo) {
return {params4GInfo: nextProps.params4GInfo,status:nextProps.params4GInfo.status4G};
}
else {
return null;
}
}
render() {
return (
<div>
<Form onSubmit={this.handleSubmitModeConnection}>
{console.log("statussss",this.state.status)}
<div className="sn-4GSetup-switchPos">
{console.log("statusssss",this.state.status)}
{this.state.params4GInfo.status4G !== undefined &&
this.state.params4GInfo.status4G == 1 ?
<div>
<Switch
onChange={this.changeHandlerActivied}
defaultChecked={true}
/>
</div>:<div>
{console.log("i'm hereeeee")}
<Switch
onChange={this.changeHandlerActivied}
defaultChecked={false}
/>
</div>}
</div>
</Form>
);
}
}