【问题标题】:How to pass third parameter to bind action call - react如何将第三个参数传递给绑定动作调用 - 反应
【发布时间】:2015-11-13 15:15:28
【问题描述】:

在我的应用程序中,我有文本框列表。为了反映文本框中的变化,我正在调用 handleChange 函数调用。当我将第三个参数(索引)发送给函数时,e 值变得未定义。

HTML:

<div className="col-md-2">
    <Input type="select" placeholder="select"
     wrapperClassName="col-xs-12" value={this.props.lang}
     onChange={this.handleChange.bind(this, 'language', index)}>
         <option value="en">en</option>
         <option value="de">de</option>
     </Input>
</div>

致电:

  handleChange(name, e) {
    this.state.description[0][name] = e.target.value;
    this.setState({description: this.state.description});
    console.log('---updated--', this.state);
  }

如何在 onChange 事件上向 handleChange 函数调用发送另一个参数?如何发送多个参数?

【问题讨论】:

    标签: reactjs reactjs-flux


    【解决方案1】:

    首先,你不应该像在handleChange 方法的第一行那样直接更改state

    onChange 回调不打算用附加参数调用,它是一个回调,所以只传递一个函数,而不是函数调用。您的 'language'index 参数应该可以从组件范围内的其他位置访问。

    【讨论】:

    • 我是新手。最近我正在使用 react 开发 webapp。我遵循了一些例子。在这里,当表单数据发生变化时,我正在更新状态。这不是一个好方法吗?
    • 你用 reactjs-flux 标记了你的问题,你在你的应用程序中使用 Flux 架构吗?
    • 是的,实际上是 react+flux+alt
    • 因此您应该从 Store 中检索对象的状态。看看this article explaining Flux artchitecture
    • 谢谢。我正在使用flux+alt
    猜你喜欢
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 2015-11-12
    • 2012-02-03
    • 1970-01-01
    • 2020-06-27
    相关资源
    最近更新 更多