我正在遵循以下视频中的“容器和组件”方法,以在Flux架构中构建可重用的组件。
React.js Conf 2015(22m 50s):https://youtu.be/KYzlpRvWZ6c?t=22m50s
例如,我正在使用“下一步”按钮构建图像滑块。
ImageSliderContainer
ImageSlider
Next按钮
在Flux架构中,单击 NextButton 将向商店发送操作。然后,商店将更新“currentIndex”并发出更改事件。在我看来, ImageSlider 不再可重复使用,因为它与单个商店紧密耦合,通过该商店将通知单个容器。
另一个选项是将状态“currentIndex”添加到 ImageSlider 组件。单击 NextButton 将通知 ImageSlider 更新其状态。但这会引入从 NextButton 到 ImageSlider 的反向数据流(违反Flux架构?)。此外,它反对“容器和组件”方法,其中组件只使用props呈现UI。
在Flux架构中制作可重用组件的最佳方法是什么?更具体地说,哪个元素(商店,容器,组件或其他东西)应该处理 NextButton 组件中发生的onClick事件?
被修改
根据答案,这里有一个满足Flux架构和“容器和组件”模式的解决方案。
答案 0 :(得分:6)
您可以将onClick事件处理程序作为prop传递,就像在react教程中一样: http://facebook.github.io/react/docs/tutorial.html#callbacks-as-props