如题,刚刚开始学 react ,现在我有一个 component 叫做 block , 然后这些 block 都在 另一个叫做 board 的 component 里面, 然后这些 block 之间可以相互连接 或者不连接, 同时之后可以更改,这里我该如何 管理这个"连接"的关系?
我目前想到的做法是再创建个新的 component ( link )来管理这些连接关系 或者在 board 里来管理,但是感觉都有点奇怪,不知道对不对。。。希望有老司机来带带我 指条路 谢谢!
1
1112Samuel 2016-05-03 16:33:44 +08:00 1
可以把“连接关系”在 store 里面进行管理维护(相关的做法可以查一下 flux / redux )
或者像你说的在 board 中进行管理,只不过一般情况下我会觉得和数据相关的操作就不要在 view 层搞比较好。 |
2
ddmad1030 OP @1112Samuel 好的 本来只是做一个很简单的 plugin 没有考虑用 flux/redux , 看来还是去看看先哈哈~感谢~
|
3
leojoy710 2016-05-03 17:40:12 +08:00 1
@ddmad1030 不用 flux 也可以...其实就是 board 的一个 state, 存了 block 和其之间的连接关系...
这里用 flux 会把简单问题复杂化...没必要... |
4
markx 2016-05-03 23:53:20 +08:00
基本上,两个 component 之间的关系,就可以存在他们共同的一个祖先 componenet 的 state 里面, 然后作为 props 传给他们来访问。
|
5
markx 2016-05-04 00:00:11 +08:00 1
一开始你可以把这些数据通通存在 board 里面,或者专门创建一个 component 来管理数据(这大概就是 container component 的概念)。 等到你数据很多,状态很复杂的时候, 你会发现你的 board 里面有大量的状态和方法其实只是为 children components 服务的,维护起来很麻烦, 这时候你就可以引入 flux 来解决这个问题。
|