setState的执行顺序问题


  • 0

    问题::为什么代码里的alert,始终输出state变化前的值
    以下是测试程序,可以直接运行,望大牛解答

    import React, { Component } from "react";
    import ReactDOM from "react-dom";

    class Test extends Component {
    constructor() {
    super();
    this.state = { t: "hello" };
    }
    render() {
    return (
    <input
    type="text"
    name="jerry"
    value={this.state.t}
    onChange={e => {
    this.setState({ t: e.target.value });
    alert(this.state.t);
    }}
    />
    );
    }
    }

    ReactDOM.render(<Test />, document.getElementById("app"));


  • 0

    @zhierroxsetState的执行顺序问题 中说:

    state

    setState会延迟执行,
    第10节课里有介绍


登录后回复
 

与 ScriptOJ 的连接断开,我们正在尝试重连,请耐心等待