React Native创建自定义组件/库

时间:2015-10-26 19:05:23

标签: ios objective-c cocoa react-native

在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存储库并尝试更改该代码的代码,但是,我发现它不可编译而没有从不同的项目中引用,而后者又是要编译的项目。

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

4 个答案:

答案 0 :(得分:27)

1。命令:new-library

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

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

通过从react-native library复制样本文件,调用此方法将在Libraries目录中生成一个样本库。

2。显影

React Native有几个专门用于编写Native ModulesNative UI Components的文档,具体取决于您希望实现的目标。

3。链接组件

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

答案 1 :(得分:0)

看看官方的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;

答案 2 :(得分:0)

使用react-native Module setup

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

将为您生成一个模板,您可以在index.js中编写自定义UI代码,并在认为合适的地方对其进行扩展。

答案 3 :(得分:-11)

在react-native中创建组件:

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

要注册此组件,您应该使用:

data = [{'a':1,'b':2,'c':3}]