Reactjs React componentDidUpdate生命周期进入空状态
反应16.13.1 新手 我将componentDidUpdate生命周期方法添加到我的组件:Reactjs React componentDidUpdate生命周期进入空状态,reactjs,Reactjs,反应16.13.1 新手 我将componentDidUpdate生命周期方法添加到我的组件: export default class MyComponent extends React.Component { componentDidUpdate(prevProps, prevState) { console.log('componentDidUpdate'); //this.state } render () { ... } 在onChange处理程序中,我更新状态并
export default class MyComponent extends React.Component {
componentDidUpdate(prevProps, prevState) {
console.log('componentDidUpdate');
//this.state
}
render () { ... }
在onChange处理程序中,我更新状态并触发componentdiddupdate
。但是,prevState
输入为空。此外,在方法中,此.state
为空
你知道我做错了什么吗?先从州政府开始
使用constructor()
,定义内部的状态数据结构,并设置其初始值
class YourComponent extends React.Component<Props, State>{
static defaultProps = {
classes: {},
};
constructor(props: Props) {
super(props);
this.state = {
};
}
componentDidUpdate(prevProps, prevState) {
}
...
}
class YourComponent扩展了React.Component{
静态defaultProps={
类:{},
};
建造师(道具:道具){
超级(道具);
此.state={
};
}
componentDidUpdate(prevProps、prevState){
}
...
}
首先初始化状态
使用constructor()
,定义内部的状态数据结构,并设置其初始值
class YourComponent extends React.Component<Props, State>{
static defaultProps = {
classes: {},
};
constructor(props: Props) {
super(props);
this.state = {
};
}
componentDidUpdate(prevProps, prevState) {
}
...
}
class YourComponent扩展了React.Component{
静态defaultProps={
类:{},
};
建造师(道具:道具){
超级(道具);
此.state={
};
}
componentDidUpdate(prevProps、prevState){
}
...
}
prevState
指向更新前的状态(道具或状态已更改),因此在您的情况下,它应该为空。如果需要,可以初始化状态:
export default class MyComponent extends React.Component {
state = {} // initialize here
componentDidUpdate(prevProps, prevState) {
console.log('componentDidUpdate');
//this.state
}
render() { ... }
}
prevState
指向更新之前的状态(道具或状态已更改),因此在您的情况下它应该为null。如果需要,可以初始化状态:
export default class MyComponent extends React.Component {
state = {} // initialize here
componentDidUpdate(prevProps, prevState) {
console.log('componentDidUpdate');
//this.state
}
render() { ... }
}
你认为你的州是什么样的?你的初始状态是什么?你认为你的状态是什么?你的初始状态是什么?