MobX + React - 获得可观察性以在外部组件内重新渲染

MobX + React - Getting observable to re-render within an external component

我一直在玩 MobX + React + React Sortable Hoc ( https://github.com/clauderic/react-sortable-hoc )

而且我无法将新项目动态添加到可排序列表并使其立即显示。如果您多次单击 "Add another one" 按钮将新项目推送到列表,然后重新排序列表中的项目,则列表才会更新以显示所有项目:

https://jsfiddle.net/56s57ryb/

以此为店铺:

let appState = mobx.observable({
    todos: [ 'yellow', 'blue', 'red' ]
})

appState.addTodo = function() {
    appState.todos.push( 'new one' )
}

多年来我一直在兜圈子,在互联网上上下搜索,但我似乎无法确定我哪里出错了。有谁知道是怎么回事吗?

您的反应组件未标记为观察者。有关更新的 fiddle,请参阅 https://jsfiddle.net/56s57ryb/1/。例如:

const SortableItem = SortableElement(mobxReact.observer(({value}) => <li className="SortableItem">{value}</li>));