React 复选框组件:我应该在哪里保存状态更改?

React checkbox component: Where should I keep state changes?

react-table 中,我制作了一个自定义 drop-down-menu 组件,当用户单击列的 header 时会出现该组件。

当用户点击选项“选择列”时,会出现一个带有复选框选项的模式,用户可以在其中select显示或隐藏哪些列。

此带有复选框选项的模式位于 drop-down-menu 组件中。问题是我无法弄清楚哪种是处理状态变化的最佳方式。我应该在两个组件(table 组件和 drop-down-menu 组件)上保持状态更改吗?我应该为此使用 redux 吗?我要用很多table,所以总的列数会很大。我真的很困惑这一切。

你应该一个真实来源。由于 table 需要此信息,因此应将其保存在 table 中并传递给下拉菜单组件。

结帐this codesandbox example

好吧,如果你想让你的复选框组件可重用,你应该这样做,那么你必须将状态保留在你的复选框组件中,并期望从任何你想使用该复选框组件的地方都有一个 onChange 事件处理程序。