我知道在更小的组件上使用@observer对性能有好处。在尽可能多的组件上使用@inject也是合理的吗?显然,通过这种方式,访问使用的道具比通过父组件更容易。同时,创建表示组件也变得困难。几乎所有组件都直接连接到Mobx的商店。但即使我们不使用@inject,组件仍然可以使用@observer。
所以我的问题是:
如何在Mobx中创建演示组件?或者也许在Mobx中不需要表示组件。
使用@inject的最佳做法是什么?或者哪些组件与@inject一起使用是合理的?
任何建议都表示赞赏。
答案 0 :(得分:1)
<强>问题1:强>
您可以使用与redux相同的方式创建表示组件。只需从外部为这些组件提供道具,只在其上使用@observer。
没有“需要”使用表示组件。即使在Redux中也没有必要。这取决于您如何达到您的架构目标/非功能需求。
您需要知道并决定是否需要没有@observer的演示组件。例如,当您想要在应用程序中重用表示组件时,可能就是这种情况,而不使用mobx。然后,当您使用@observer注释每个组件时,您将遇到问题。
<强>问题2:强>
在容器组件上使用@inject和@observer,只需将支持向下传递给仅使用@observer注释的演示组件。