Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React componentDidUpdate生命周期进入空状态_Reactjs - Fatal编程技术网

Reactjs React 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处理程序中,我更新状态并

反应16.13.1

新手

我将componentDidUpdate生命周期方法添加到我的组件:

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() { ... }
}

你认为你的州是什么样的?你的初始状态是什么?你认为你的状态是什么?你的初始状态是什么?