我正在尝试将isOpen支持下载到Snackbar组件,但出于某种原因,当我在componentDidMount或componentDidUpdate中调试this.log时,我看到的是this.props.message。如果有人能帮助我,我将非常感激,看到这个问题花了我很多时间,但它似乎很简单。提前谢谢!
{this.state.message.message ? <SnackBar message={this.state.message.message} isOpen={true}/> : null}
class SnackBar extends Component {
constructor (props) {
super(props)
this.state = {
open: false,
};
}
componentDidUpdate(prevProps,nextProps) {
console.log(this.props);
console.log(prevProps, nextProps);
}
答案 0 :(得分:0)
来自componentDidUpdate
的反应文档:
This method is not called for the initial render.
并且componentDidMount
不会将道具作为参数,您必须使用this.props
。
class SnackBar extends Component {
constructor (props) {
super(props)
this.state = {
open: false,
};
}
componentDidMount() {
console.log(this.props)
}