【问题标题】:Reuse React Native screens across applications跨应用程序重用 React Native 屏幕
【发布时间】:2020-09-12 00:32:48
【问题描述】:

大多数应用程序都有类似的登录和注册屏幕,用户可以选择在它们之间导航。用户首先登陆登录屏幕,然后登录后进入登陆屏幕。如果他们没有帐户,他们可以点击登录屏幕上的“注册”链接。 我不想在所有应用程序中复制它,而是从一个公共库中使用它们。

如何将带有导航的登录和注册屏幕作为可重用组件(或本地 npm 包)与一些道具(例如登录后的登录屏幕)进行本机反应?

我从 Xamarin 迁移过来,这很容易,为两个屏幕创建一个带有 XAML 的 .NET 标准库,并在所有应用程序中使用它们。 没有找到在 react native 中实现相同的方法。

【问题讨论】:

    标签: react-native react-navigation create-react-app react-component


    【解决方案1】:

    在您的情况下,我只会在项目之间重用 UI 部分。正如您所说,您的每个屏幕都需要一个组件:登录屏幕、创建帐户屏幕等。

    这些组件应该是:

    • 无状态

    • 应该使用 props(用于自定义,用于在按下按钮时回调您的应用等)

    • 不应依赖于您的项目

    • 逻辑应该在你的项目中实现,而不是在那些组件中(例如登录请求)

    • 另外,如果你使用 Redux,你的组件不应该直接依赖它

    • 如果您的组件需要来自 Redux Store 的数据,请使用 Redux Containers,它应该是您的应用程序的一部分,而不是您的 lib

    最后,正如你所说,你可以在 npm 上发布你的组件;)

    【讨论】:

    • 感谢丹尼尔的回复。您能否提供更多详细信息,例如博客文章、代码示例等?我能找到的示例只讨论了创建可重用的 UI 组件(如按钮或进度条)。在多个 React Native 项目中创建可重用 UI 屏幕时没有找到任何帮助。
    猜你喜欢
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 2023-03-12
    • 2018-01-12
    相关资源
    最近更新 更多