代码之家  ›  专栏  ›  技术社区  ›  Prathamesh Chavan

无法从React中的componentDidUpdate生命周期挂钩获取prevState。js v18。1

  •  0
  • Prathamesh Chavan  · 技术社区  · 2 年前
    import React, { Component } from "react";
    
    class Counter extends Component {
        constructor(props) {
            super(props);
            this.state = { counter: 1 };
        }
    
        handleIncrement = () => {
            this.setState({ counter: this.state.counter + 1 });
        };
    
        componentDidUpdate(prevState) {
            console.log("prevState", prevState);
        }
    
        render() {
            return (
                <React.Fragment>
                    <p>{this.state.counter}</p>
                    <button onClick={this.handleIncrement}>Increment</button>
                </React.Fragment>
            );
        }
    }
    
    export default Counter;
    

    我想访问从componentDidMount生命周期方法返回的prevState属性。然而,我在控制台上得到一个空对象。日志(prevState)。请查看附件中的图片。我希望在控制台中显示前一状态的对象。

    prevState empty object

    请帮我找出我是在做语法错误的事情,还是在React的never版本中发生了意外的突破。我很想听到你的消息。

    谢谢

    1 回复  |  直到 2 年前
        1
  •  0
  •   Bas    2 年前

    必须同时指定两个输入 (prevProps, prevState)

      componentDidUpdate(prevProps, prevState) {
        console.log("prevState", prevState.counter);
      }