首页 > 解决方案 > 如何在 React 中有条件地返回当前状态和 setState?

问题描述

我需要调用可以返回当前状态并在特定条件下更改它的方法。我究竟做错了什么??

这是我的状态:

  this.state = {
            input: {
                amount: "20000",
   }
  }

这是我的方法:

methodHandler = () => {
    const {input} = this.state;
    if(condition){
        this.setState({input: { ...this.state.input, amount: 55000}})
    }
    return input.amount
   
}

这就是我试图称呼它的方式:

<p>{this.methodHandler} </p>

我也试过这个:

 <p>{this.methodHandler()} </p>

和这个:

 <p>{() => this.methodHandler()} </p>

没有任何效果

标签: reactjsmethodsstate

解决方案


您需要使用花括号才能在 jsx 中嵌入数据。

试试这样:

{this.methodHandler}

参考:https ://reactjs.org/docs/introducing-jsx.html#embedding-expressions-in-jsx


推荐阅读