reactjs - DevSettings.reload() 用于在 React Native 中注销

标签 reactjs react-native redux react-redux react-native-bridge

问题
我正在将我的混合应用程序的注销功能从 native 迁移到 native react 。
要求:

  • 它适用于生产和设备
  • 它导航到应用程序的根屏幕(登录屏幕)
  • 它清除了 redux 存储
  • [很高兴拥有] 它会取消任何飞行中的请求

  • 最初,我们计划做这样的事情:how-to-reset-the-state-of-a-redux-store
    想法
    从 React Native 0.62.0 开始,我们现在可以访问 DevSettings 模块。 DevSettings 有一个本地网桥,可以 reload react 原生环境。但是 DevSettings 真的只适用于开发环境吗?

    Export the DevSettings module, add addMenuItem method (cc068b0551 by @janicduplessis)


    问题
  • 使用重新加载与使用 redux 操作注销的权衡是什么?
  • 我应该在生产应用程序中使用重新加载吗?

  • 编辑:答案
  • prod ( code )
  • 中不允许重新加载
  • react-native-restart非常适合我的用例。
  • 最佳答案

    这是禁止在 prod 中使用 devSettings 的代码行

    import NativeDevSettings from '../NativeModules/specs/NativeDevSettings';
    import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
    
    class DevSettings extends NativeEventEmitter {
      ...
      reload(reason: string) {
        if (typeof NativeDevSettings.reloadWithReason === 'function') {
          NativeDevSettings.reloadWithReason(reason || 'Uncategorized from JS');
        } else {
          NativeDevSettings.reload();
        }
      }
      ...
    }
    
    // Avoid including the full `NativeDevSettings` class in prod.
    class NoopDevSettings {
      addMenuItem(title: string, handler: () => mixed) {}
      reload() {}
    }
    
    module.exports = __DEV__ ? new DevSettings() : new NoopDevSettings();
    

    来自 Libraries/Utilities/DevSettings

    关于reactjs - DevSettings.reload() 用于在 React Native 中注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61392596/

    相关文章:

    checkbox - Reactjs - 控制多个复选框

    javascript - 为什么我的组件没有从 Redux Store 接收更新的 Prop ?

    react-native - 在 React Native 中,如何更改 Android 上的 Root View 背景颜色?

    react-native - React Native 'Unordered'-样式列表

    javascript - 文本编辑器的 Redux 架构 : dealing with coupled state

    javascript - 匹配来自两个 api 调用的数据,然后在 React 中的表格上显示结果

    javascript - ReactJS 中的 setState 方法没有更新字段

    react-native - 如何在 NativeBase 按钮​​上使用 colorScheme 属性但具有不同的颜色级别

    javascript - 如何不变地更改或更新状态的特定值

    reactjs - 为什么 react 组件在改变状态后不重新渲染