【问题标题】:Updating Component State from Helper Component从 Helper 组件更新组件状态
【发布时间】:2020-05-10 09:30:51
【问题描述】:

我知道使用 Redux 和其他状态管理包有很多解决方案,但就我的项目而言,我并没有真正依赖大量的状态更改

现在我的问题在于以下;我正在使用多个 API 记录用户,其中之一是聊天 API。帮助程序将用户登录,然后设置自己的状态并返回两个对象。

在聊天页面上,在 render() 函数中,我有条件根据从帮助程序库返回的两个状态的存在来呈现某些元素,如果它们存在,则将它们作为道具传递给子组件。

我知道我可以使用 globals 从 Helper 设置 global.chatReady 并使用它,但由于登录需要一些时间,如果页面在 global.chatReady 设置之前加载,我需要导航到更新用户界面。

Helper 和 Chat 之间没有链接,我没有使用 react-navigation 共享任何状态。

有什么想法吗? o.O

【问题讨论】:

  • 几个想法。上下文 API。提升状态并向下钻取道具。向下钻取状态的设置器作为回调,并从更深的子组件触发它。你有几种方法来处理这个问题,找出最适合你项目的解决方案。我强烈建议您不要仅仅为了这个目标而使用状态管理库

标签: javascript react-native state chat helper


【解决方案1】:

在应用组件中创建状态,isChatHelperReady,将其传递给 Chat 组件,同时传递更新 isChatHelperReady 方法以从应用组件登录组件。在导入助手库后的登录组件中,使用方法更新app组件中的isChatHelperReady状态

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 1970-01-01
    • 2021-10-06
    • 2017-11-05
    • 2019-08-30
    • 2021-06-22
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多