使用 React-Redux 时直接 DOM 访问
Direct DOM acces when working with React-Redux
我最近开始使用 react-redux 架构。
我想在成功操作后清理一些字段。
我知道如何使用 react-redux 方式来做到这一点,但我想知道:
使用普通 javascript 清理这些字段会被认为是一种不好的做法吗?
我知道它会影响时间机器,但我不认为这是要保留的临界状态。
优缺点欢迎,不只是严格的回答。
还有一个例子:
<input type="text" onChange={this.onChange}/>
我用 onChange 事件更新父级的私有字段。
我知道我可以将私有字段绑定到输入的值字段,但由于唯一需要的是清除字段,我想也许我可以避免它。
提前致谢!
在组件中存储一些非关键状态并不违反 Redux 的规则。它只会让事情变得不那么一致和可预测。在很长的 运行 中,您可能会后悔组件树中的一些状态。
不过,就您的示例而言,您不需要引用 DOM 来重置文本值。既然您已经将文本值存储在私有字段中,为什么不将该字段存储在状态中呢?
<input type="text" value={this.state.text} onChange={this.onChange} />
然后你可以setState({text: ""})
重置它。
我最近开始使用 react-redux 架构。 我想在成功操作后清理一些字段。 我知道如何使用 react-redux 方式来做到这一点,但我想知道: 使用普通 javascript 清理这些字段会被认为是一种不好的做法吗? 我知道它会影响时间机器,但我不认为这是要保留的临界状态。
优缺点欢迎,不只是严格的回答。
还有一个例子:
<input type="text" onChange={this.onChange}/>
我用 onChange 事件更新父级的私有字段。 我知道我可以将私有字段绑定到输入的值字段,但由于唯一需要的是清除字段,我想也许我可以避免它。
提前致谢!
在组件中存储一些非关键状态并不违反 Redux 的规则。它只会让事情变得不那么一致和可预测。在很长的 运行 中,您可能会后悔组件树中的一些状态。
不过,就您的示例而言,您不需要引用 DOM 来重置文本值。既然您已经将文本值存储在私有字段中,为什么不将该字段存储在状态中呢?
<input type="text" value={this.state.text} onChange={this.onChange} />
然后你可以setState({text: ""})
重置它。