在mobx-react中使用@inject的最佳实践?

时间:2017-11-19 09:51:41

标签: reactjs mobx mobx-react

我知道在更小的组件上使用@observer对性能有好处。在尽可能多的组件上使用@inject也是合理的吗?显然,通过这种方式,访问使用的道具比通过父组件更容易。同时,创建表示组件也变得困难。几乎所有组件都直接连接到Mobx的商店。但即使我们不使用@inject,组件仍然可以使用@observer。

所以我的问题是:

  1. 如何在Mobx中创建演示组件?或者也许在Mobx中不需要表示组件。

  2. 使用@inject的最佳做法是什么?或者哪些组件与@inject一起使用是合理的?

  3. 任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:1)

<强>问题1:

您可以使用与redux相同的方式创建表示组件。只需从外部为这些组件提供道具,只在其上使用@observer。

没有“需要”使用表示组件。即使在Redux中也没有必要。这取决于您如何达到您的架构目标/非功能需求。

您需要知道并决定是否需要没有@observer的演示组件。例如,当您想要在应用程序中重用表示组件时,可能就是这种情况,而不使用mobx。然后,当您使用@observer注释每个组件时,您将遇到问题。

<强>问题2:

在容器组件上使用@inject和@observer,只需将支持向下传递给仅使用@observer注释的演示组件。