如何创建一个库来改进React Native中的官方TextInput组件

时间:2017-09-27 14:24:46

标签: ios reactjs react-native

我添加了一个小功能,可以改善React Native中<TextInput>组件的用户体验。新代码是本机的,所以我不得不对官方RCTText库中的几个文件进行更改。

目前,通过手动更改node_modules内的代码并重建项目,我在本地工作。一旦我解决了所有边缘情况,我计划为正式的React Native项目制作PR。我知道有时候功能需要一段时间才能进入正式版本(如果有的话),所以在此期间,我想将这个improved <TextInput>发布为可能感兴趣的其他人的库。

目标是发布一个库,一旦添加到项目中,您就可以创建一个<MyTextInput>组件,该组件执行原始<TextInput>所做的一切。这是我有点失落的地方。有人可以指出我如何使用这个库创建一个正确的方向,或者可能是一个链接到一个类似的东西的库(在本机代码中增加官方RN组件)?

1 个答案:

答案 0 :(得分:0)

您可以使用react-native-create-library引导可链接的库项目,然后将修改后的RCTText library project复制到其中。

您需要重命名库,例如通过给它一个RCT以外的前缀来避免与主RCTText组件的冲突。此外,您还需要重命名源文件中对RCT *组件的所有引用。

创建库后,您可以将其发布到NPM并使用以下命令将其安装到React Native应用程序:

npm install your-text-component
react-native link your-text-component

我没有尝试使用内置的React组件,但是为React Native发布第三方本机库不应该有任何不同,无论原始实现是否基于现有的React Native组件。