使用 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: ""})重置它。