如何从外部修改React/Redux组件的状态?

问题描述:

我有一个带有用于过滤的输入元素的常规HTML页面,以及一个管理和显示项目表的React组件。当用户键入输入元素时,我希望React组件将过滤器应用于其状态。如何将这些信息传递给React组件,并使其“对其作出反应”? HTML页面属于一个应用程序,并且不能被反应。如何从外部修改React/Redux组件的状态?

进行React组件更新的最简单方法是更新它的道具。因此,您需要将一个道具添加到React组件,您可以在更改输入时使用它来进行更新。这会将新数据传递给组件,并且会重新渲染。

因此,无论React组件居住在哪里,当您更改输入中的文本时,都需要传入变量。

let filter_string = ''; 
input.on('keyDown', e => filter_string = e.target.value) 

<Items filter={filter_string} />