【问题标题】:React Native Create Custom Component/LibraryReact Native 创建自定义组件/库
【发布时间】:2016-01-26 00:25:26
【问题描述】:

在 React Native 中,有一些第三方组件会编译自己的库,这些库可以包含在您的主 React 项目中。此类第三方库的示例如下:

现在,我非常想用链接库创建我自己的 React Native 组件(仅限 iOS,所以我只需要使用此方法链接的 Cocoa 库:https://facebook.github.io/react-native/docs/linking-libraries-ios.html),到目前为止,所有我发现是这样的:http://moduscreate.com/react_native_custom_components_ios/

但是,生成的项目没有指定库目标,也不能链接到其他项目。

我也尝试过复制 Touch ID 存储库并尝试更改其代码,但遗憾的是,如果没有从另一个项目引用它,我发现它是不可编译的,而另一个项目又将是要编译的。

我在哪里可以找到有关如何执行此操作的任何指南?谢谢!

【问题讨论】:

    标签: ios objective-c cocoa react-native


    【解决方案1】:

    1。命令:新库

    React-native-cli 提供new-library 命令:

    react-native new-library --name <YourNewLibraryName>
    

    调用这将通过从react-native library 复制示例文件在您的Libraries 目录中生成一个示例库。

    2。开发中

    React Native 有几个文档专门用于编写 Native Modules 和 Native UI Components,具体取决于您想要实现的目标。

    3。链接组件

    完成后,按照您已经提到的instructions 链接您的组件。

    【讨论】:

    • 谢谢!对声誉的事情感到沮丧,但非常感谢您的链接。
    • 跟进我的问题,如何使生成的库与 Android 一起使用?生成的文件夹结构中似乎缺少必要的 Gradle 脚本。
    • 我不得不承认,我没有使用 Android 上的自定义组件的经验。对不起!
    • 我在react-native-cli@0.2.0 中找不到new-library 命令。相反,这在我的 react-native 模块中对我有用:node ./node_modules/react-native/local-cli/cli.js new-library --name newlib ... 但随后它在错误的目录中创建了它。肯定有更简单的方法吗?
    【解决方案2】:

    在 react-native 中创建组件:

    const App = ( ) => {
      return (
        <Text>Some Text</Text>
      );
    }
    

    要注册这个组件,你应该使用:

    ReactNative.AppRegistry.registerComponent('your_project_name', ( ) => App);
    

    【讨论】:

      【解决方案3】:

      查看官方 Facebook 指南Native Modules Setup。它解释了如何开始:

      $ yarn global add create-react-native-module
      $ create-react-native-module MyLibrary
      

      这将生成一个README.md,后续步骤如下:

      react-native-my-library

      ​​>

      开始

      $ npm install react-native-my-library --save

      大部分是自动安装

      $ react-native link react-native-my-library

      用法

      import my-library from 'react-native-my-library';
      
      // TODO: What to do with the module? 
      my-library;
      

      【讨论】:

        【解决方案4】:

        使用react-native Module setup

        $ yarn global add create-react-native-module
        $ create-react-native-module NameOfLibrary
        

        将为您生成一个模板,您可以在 index.js 中编写您的自定义 UI 代码并根据需要对其进行扩展。

        【讨论】:

          猜你喜欢
          • 2018-10-09
          • 1970-01-01
          • 1970-01-01
          • 2015-11-22
          • 2020-07-02
          • 2017-12-30
          • 2017-08-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多