我尝试使用一个prop值来设置一个状态,但它一直给我null。prop值具有有效值(布尔值)。
这是子组件的构造函数:
constructor(props: any) {
super(props);
this.setState({
...this.state,
customUser: props.customUser,
open: props.open
})
}
如果我记录prop,它会给予我想要的值true。但是当此值用于在构造函数中设置状态时。它将在这里返回null并且不呈现:
render() {
return (
here ---> <Dialog open={this.state.open}>
<DialogTitle>Account Delete</DialogTitle>
<DialogContent>
<p>Are you sure you want to delete your account?</p>
</DialogContent>
<DialogActions>
<Button variant="contained" color="primary" onClick={() => {
}}>Yes</Button>
<Button variant="contained" color="secondary" onClick={() => {this.toggleDialog}}>No</Button>
</DialogActions>
</Dialog>
)
}
我尝试使用不同的命名状态将prop值设置为。但这也没用。
2条答案
按热度按时间e3bfsja21#
正如Andy Ray的回应所说,我使用了setState而不是this. state。更换这个解决了我的问题。谢谢!
50pmv0ei2#
尝试使用
componentDitMount
(或useEffect
的较新版本)。你可以用
componentDidMount
这样做。