如何更新反应变量状态?

How to update react variable state?

我正在尝试更新变量的状态 "selectedPlayer" 但是当我使用 setState 函数时该变量的状态没有更新,我已经通过控制台日志对此进行了测试,如下所示。

下面是我如何尝试设置变量的状态以及此 class 文件中的一些内容以供您了解

 this.setState({ selectPlayer: player });

这是我用来更新状态的一些组件文件和函数。

  class StatApp extends Component {
      constructor(props) {
        super(props);
        this.state = {

          selectedPlayer: 'dassdasda',

        };
        this.selectPlayer = this.selectPlayer.bind(this);
      }

    selectPlayer = e => {
        e.preventDefault();
        //  console.log(e.target.value); //will give you the value continue

        // Store Value
        const selectPlayer = this.state.selectedPlayer;
        console.log(this.state.selectedPlayer);

        console.log(selectPlayer);

        // Test to see if we are getting the value from the playerButton 
        const player = e.target.value;
        console.log(player);


        this.setState({ selectPlayer: player });

        console.log(selectPlayer);

      };

我想这是一个打字错误。 尝试改变

 this.setState({ selectPlayer: player });

this.setState({ selectedPlayer: player });

找到未在控制台上打印更新状态的其他答案

setState 是异步的,因此当您在控制台记录它时,状态尚未更新。您可以使用 setState 的回调形式来获取更新状态:

this.setState(
    { selectPlayer: player },
    () => console.log(this.state.selectPlayer)
);