前一个帖子也说了,现在在做一个 file manager webui , 昨天碰到一些基本的问题都已经解决了,现在卡在一个大问题上。就是自包含 component.
大家都知道一般的 file manager 左侧都有一个树形的浏览器,我想用一个 component 表示所有的节点,比如这个 conponent 叫 TreeNode 。每个 TreeNode 下面也会有子节点,同样也是 TreeNode , 他们的 state 是 {path, children_nodes, right .....}, 但是内容都不同。 children_nodes 是从服务器拿的, path 是 parent 传给他的(因为 parent 拿到了 children_nodes , 然后 map 到子节点 的时候可以把 path 传给他).
结构像这样(文件浏览器所以层数不限。。):
App:
TreeNode
--TreeNode
----TreeNode
----TreeNode
TreeNode
TreeNode
--TreeNode
TreeNode
--TreeNode
----TreeNode
----TreeNode
我有一个 OPEN_NODE action , 用来触发 getFileList (获取文件列表函数,在 action creator 里),然后把 state.open 设置为 true
然后现在的问题是,因为只能 connect 根节点 App ,导致所有子节点所接受的 state 都变得一样了。。。
v2ex 代码显示太恶心了。。还是贴 github 地址吧
https://github.com/eromoe/simple-redux-boilerplate关键代码在
containers/App.js:
containers/TreeNode.js
actions/NodeActions.js
reducers/TreeNodeReducer.js
现在卡在这里不知道怎么往下做。。。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/287308
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.