【问题标题】:React Redux - Dispatch retrieve input valueReact Redux - 调度检索输入值
【发布时间】:2016-04-16 11:31:54
【问题描述】:

我有以下 React 视图/渲染功能:

let BaseSalaryView = ({ counter, onChange }) => (
    <div>
        <input type="text"
            placeholder="Annual Salary"
            value={counter}
            onChange={() => onChange(counter)} />
        <span>Try: {counter}</span>
    </div>
)

我试图弄清楚如何将刚刚更改的值传递到我的 onChange 调度处理程序中。

尝试

我已经尝试了以下,但它们都是未定义的。

onChange={() => onChange(this.input.value)}> 
onChange={() => onChange(input.value)}> 
onChange={() => onChange(value)}> 

其余代码

const mapDispatchToProps = (dispatch) => {
    return {
        onChange: (counter) => {
            dispatch(baseSalaryChange(counter)) // Need the input v alue here
        }
    }
}

export function baseSalaryChange(baseSalary) {
  return { type: BASE_SALARY_CHANGED, baseSalary }
}

动作被调用,但 coutner 总是设置为初始值。

【问题讨论】:

    标签: javascript reactjs dispatch react-redux


    【解决方案1】:

    天啊,经过 2 小时的挣扎,在我发布问题 2 分钟后,我想通了。

    需要在onChange的内联函数中传入一个参数,该参数将被设置为刚刚发生的event。然后我可以从那里访问event.target

    onChange={(event) => onChange(event.target.value)} />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2019-05-03
      • 2019-08-24
      • 2021-10-14
      相关资源
      最近更新 更多