使高阶组件成为观察员-Mobx React

时间:2018-12-24 19:46:09

标签: javascript reactjs mobx mobx-react

我有一个包含三个主要组件的应用程序。表单允许用户选择项目,预览显示那些项目,AppStore是Mobx商店。该按钮似乎可以正常工作,可以将商品添加到商店中,但是预览组件不会响应更改而重新呈现。我认为这可能是因为我为拖放功能使用了更高阶的组件。有谁知道如何使这些与Mobx一起使用?

可以在此处找到该项目(目前我链接的唯一按钮是添加了项目的“横幅图像”和应删除该项目的“删除”):https://codesandbox.io/s/vnooqvn8yy

1 个答案:

答案 0 :(得分:0)

我认为问题在于SortableList需要传递常规的javascript数组,而不是可观察的数组。

<SortableList items={AppStore.currentBlocks.slice()} onSortEnd={this.onSortEnd} />

来自mobx文档:

  

...无论何时需要将可观察的数组传递给外部库,最好使用以下方法先创建浅表副本,然后再将其传递给其他库或内置函数(无论如何都是好习惯) strong> array.slice()