如何在React中传递身份验证?

时间:2017-05-23 03:19:31

标签: reactjs

如果没有像Redux那样的全局状态管理库,那么通过我的组件传递用户的好方法是什么?我正在使用Firebase,所以我想我的顶级应用程序组件将会监听身份验证更改并将用户存储在某处。以下是我想到的选项:

  1. 将'用户'传递给道具中的每条路线(以及传递给需要它的儿童)
  2. 使用我自己的全局对象
  3. 使用Context
  4. 1似乎很麻烦。

    2似乎不是正确的方式,并且更像是一个麻烦,我不是必须听取更改并将用户设置在我的状态中吗?这是他们在React Router docs中展示的内容,但我猜这只是为了简单而不是最佳实践。

    3对我来说似乎是最好的方式,但似乎it's discouraged

      

    绝大多数应用程序不需要使用上下文。

         

    如果你   希望您的应用程序稳定,不要使用上下文。它是一个   实验API,它很可能在未来的版本中破坏   反应。

1 个答案:

答案 0 :(得分:0)

我仍然会说你使用上下文。这是我发现在整个反应树中构建一个公共状态的最好方法。

即使他们不鼓励它,所有流行的反应库(包括react-redux)都会花费大量时间。它不会很快被删除。如果您知道自己在做什么,那么用例似乎非常合理。