javascript - 在 React-Redux 中访问输入字段的正确方法是什么?

标签 javascript reactjs redux react-redux flux

所以我有这个应用程序,它使用 Redux 来存储一些数据。然后我有搜索组件,我最初希望它是一个普通的愚蠢组件。但是,有一个输入字段,我想访问并传递该输入字段的值以对其执行某些操作。但是,我不确定如何管理此输入字段的值,即如何访问它以及在哪里存储该值。我想使用 Redux 并保持一致,所以这是我的主要问题。我找到了以下解决方案(有效),但这对我来说不再像 Redux 了?我这样做是否违反了任何 Redux 特定规则?

另一方面,我该如何使用 Redux 来做到这一点?使用 reducer 和操作等。只是一个组件中的这个输入字段?这似乎有点太多了,但请赐教!

class Search extends React.Component{

  constructor(props) {
   super(props);
   this.state = {
     username: ""
   };

    this.handleUsernameChange = this.handleUsernameChange.bind(this);
 }
  handleUsernameChange(evt) {
      console.log("Helo" + evt.target.value);
      this.setState({
          username: evt.target.value
      });
  }
  onSubmit(e) {
      e.preventDefault();
      console.log("Hello" + e);
      /* Do something... */
  }


  render() {
    // Return JSX via render()
    return (
      <div className="">
        <h1>Youtube Link</h1>
        <input className="form-control" onChange={this.handleUsernameChange}></input>
        <button className="btn btn-large btn-positive" onClick={this.onSubmit}>Download</button>
      </div>
    );
  }

}

// Export Search
export default Search

最佳答案

“我想使用 Redux 并保持一致,所以这是我的主要问题。”

这是在此用例中使用 Redux 的充分理由。但在应用程序中结合使用 Redux 和本地组件状态也是可以的。我认为这是一个完美的例子,说明本地组件状态是一个很好的解决方案。我写了一篇关于这个主题的博客文章。如果需要的话可以看这里:http://blog.jakoblind.no/2017/02/08/is-using-a-mix-of-redux-state-and-react-local-component-state-ok/

关于javascript - 在 React-Redux 中访问输入字段的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42507205/

相关文章:

javascript - d3.js中 ".getComputedTextLength()"的等价方法

reactjs - Action 创建者的解释和类型的提取

reactjs - 如何使用 immer.js 更新多个状态属性

javascript - reduceReducers() 如何工作?

javascript - 如何启用 chrome 浏览器以允许本地 cookie? --enable-file-cookies

javascript - 观看/收听对 Google 云端硬盘电子表格的更改

javascript - 每 x 小时在每个群组/公会的 Discord 上发送消息

javascript - iframe 中的文本可以复制到剪贴板吗?

javascript - moment-timezone.js – 在 Jest 测试中运行时出现错误

reactjs - 如何通过api上传图片?