异步操作后更新的 props 必须传递给 Inputs 组件。如何在异步操作完成后将 props 传递给子组件。
我正在尝试在 Child 组件中不连接。这可能吗
class SignUp extends Component {
componentDidMount(){
this.props.UserSignupType();
}
render(){
<Inputs {...this.props} >
}
}
const stateToProps = state => ({
signupInputs: state.signupInputs
});
connect(stateToProps, null)(SignUp);
class Inputs extends Component {
constructor(props){
super(props);
this.state = {...props};
}
render(){
if(!this.state.isLoaded) {
return <Loading />
} else {
let inputs = [];
this.state.inputs.forEach(function(input){
inputs.push(<TextField value={input.text}>)
});
return <View>{inputs}</View>
}
}
}
在@Adam 回答后更新:
注意:我已经尝试过 this.state.isLoaded 和 this.props.isLoaded。使用这两种方法我都无法获取数据
更新 2:
class SignUp extends Component {
constructor(props){
super(props);
this.state = {...props};
}
componentDidMount(){
this.props.UserSignupType();
}
render(){
<Inputs {...this.state} >
}
}
const stateToProps = state => ({
signupInputs: state.signupInputs
});
connect(stateToProps, null)(SignUp);
class Inputs extends Component {
constructor(props){
super(props);
this.state = {...props};
}
render(){
if(!this.state.isLoaded) {
return <Loading />
} else {
let inputs = [];
this.state.inputs.forEach(function(input){
inputs.push(<TextField value={input.text}>)
});
return <View>{inputs}</View>
}
}
}