从远程组件传递数据

时间:2015-08-31 19:01:00

标签: javascript reactjs

我想知道是否有更好的方法在远程组件之间进行通信。在我的情况下,我有这样的结构:

Sub Test()
    Dim DOD As New Dictionary
    Dim InnerDict As Dictionary

    'create one inner dictionary
    Set InnerDict = New Dictionary
    InnerDict.Add "A", 1
    InnerDict.Add "B", 2
    'add it to the dictionary of dictionaries
    DOD.Add "dict1", InnerDict

    'create another inner dictionary
    Set InnerDict = New Dictionary
    InnerDict.Add "A", 3
    InnerDict.Add "B", 4
    InnerDict.Add "C", 5
    'add it to DOD
    DOD.Add "dict2", InnerDict

    'access like:
    Debug.Print DOD("dict1")("A") 'prints 1
    Debug.Print DOD("dict2")("A") 'prints 3

    'can add new keys to inner dicts:
    DOD("dict1").Add "C", 10
    Debug.Print DOD("dict1")("C") 'prints 10

End Sub

我需要将 TagBoxItem 中的一些数据发送到历史记录(在TagBoxItem onClick操作中会将新项目添加到历史记录中)。最简单的解决方案是只进行一些回调并将一步一步的数据从TagBoxItem传递到主div,然后将其传递给History。但这真的是最好的方法吗?

3 个答案:

答案 0 :(得分:3)

这是探索Flux模式的有效案例。您将通过TagBoxItem中的操作创建者启动操作,通过调度程序将其传播到History Store。在历史记录存储更改中,您将重新呈现历史记录组件。

类似于Flux,还有Redux状态容器,目前引起了很多关注。重要的区别在于您将所有状态保存在单个商店中而不是多个商店,您将为您的案例创建历史记录减少器。浏览the Gist了解更多详情。

答案 1 :(得分:1)

作为Eugene的答案,使用Flux模式始终是推荐的方式。如果您不想使用它,可以尝试创建一个全局事件系统。如果您有兴趣,我添加了the link

答案 2 :(得分:1)

我自己是少数不喜欢流动的人之一。虽然我尝试了反流,原始通量,但我只是想要更简单的东西,还有其他学习/调试,所以我有Rxjs代替。看一下这篇文章

http://qiita.com/kimagure/items/22cf4bb2a967fcba376e