React Native的魔盒React Native开发React Native开发经验集

React Native 如何使用第三方库及实例

2017-10-17  本文已影响300人  IAMCJ

iOS 开发的时候,如果想使用第三方库的话,一般我们会选择 CocoaPods 来管理第三方库,好用方便。最近在敲 React Native,刚开始的时候想着 RN 的第三方库怎么使用?经过摸索之后算是知道怎么用了,在此记录一下,刚入门的同学可以看一下,React Native 大神请绕道哈,水平有限,有错误的话请指出。

什么是NPM ?

NPM 是 NodeJS 的包管理和分发工具。它可以让 javascript 开发者能够更加轻松的共享代码和共用代码片段,并且通过 NPM 管理你分享的代码也很方便快捷和简单。

NPM 使用介绍

NPM 是随同 NodeJS 一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,安装完 NodeJS 就已经有了 NPM, 不过由于 NodeJS 更新速度要慢于 NPM ,因此在一般情况下要升级你的 NPM 到最新版本。如果你还没有安装,这里有详细的安装流程。
NPM 常见的使用场景有以下几种:

接下来我们就是下载别人编写的第三方包到项目中使用。

一、初始化一个项目

image.png

初始化完成之后,打开项目我们可以看到项目已经生成了一个 package.json 文件:

image.png

包的定义和 NPM 都围绕着 package.json 文件做文章,package.json 文件其实就相当于 iOS 中的 podfile 文件,用于存放模块的名称、版本、作者、机构、模块入口、依赖项等信息:

image.png
package.json 的一些内容的功能:

二、查找、安装/卸载、更新依赖包

包的种类:

全局和本地的依赖包存放位置:

包的搜索:

搜索依赖包:
npm search "package-name"
查看依赖包的package.json信息:
npm view "package-name"
单独查看package.json某个配置:
  查看包的依赖关系
  npm view "package-name" dependencies
  查看包的源文件地址
  npm view "package-name" repository.url
  查看包所依赖的node版本号
  npm view "package-name" engines

安装、卸载、更新包:

本地
npm install "package-name"
全局
npm install -g "package-name"
这样会安装最新版的包,若需要安装特定版本,则
npm install "package-name"@"version"

注意:本地安装时将模块写入package.json中:
npm install "package-name"安装但不写入package.json;
npm install "package-name" --save安装并写入package.json的”dependencies”中;
npm install "package-name" --save-dev安装并写入package.json的”devDependencies”中。

卸载本地
npm uninstall "package-name"
卸载全局
npm uninstall -g "package-name"
更新本地
npm update "package-name"
更新全局
npm update -g "package-name"

三、项目中使用三方库

使用一个常见的轮播图组件react-native-swiper作为例子

1>先安装包到项目中:

image.png

查看此时的 package.json 会发现多了绿色框内的内容:


image.png

2>把包引入到需要使用的文件内:
import Swiper from 'react-native-swiper'

3>使用:

export default class extends Component {
    constructor(props) {
        super(props)
    }
    render(){
        return (
            <View style={styles.mainStyle}>

                <Swiper style={styles.wrapper}
                        autoplay={true}
                        autoplayTimeout={1}
                >
                    <View style={styles.slide}></View>
                    <View style={styles.slide1}></View>
                    <View style={styles.slide2}></View>
                    <View style={styles.slide3}></View>
                </Swiper>
            </View>
        );
    }
}
var styles = StyleSheet.create({
    mainStyle: {
        width: screenW,
        height: screenH,
        backgroundColor: "#1ab9af",
        justifyContent: 'flex-start',
        alignItems: 'center',
    },
    wrapper:{
        marginTop:50,
        height:250,
        backgroundColor:'white',
    },
    slide: {
        height:250,
        justifyContent: 'center',
        backgroundColor: 'blue'
    },
    slide1: {
        height:250,
        justifyContent: 'center',
        backgroundColor: 'yellow'
    },
    slide2: {
        height:250,
        justifyContent: 'center',
        backgroundColor: 'red'
    },
    slide3: {
        height:100,
        justifyContent: 'center',
        backgroundColor: 'cyan'
    },
});

效果图:

image.gif
一个轮播图就完成了,demo在这。如果你想了解它的更多功能,点这里react-native-swiper

如果想要使用其他的第三方组件,可以参考上面的例子,流程大同小异,区别就在于每个组件的属性存在区别,但是只要仔细阅读作者写的使用文档,就可以做成你想要的样子了。

更多的优秀第三方组件:
React Native组件库
react native第三方组件(持续更新...)
React Native 项目常用第三方组件汇总
React Native的中文参考资料,包括开源库,文字/视频资料,相关工具等

NPM更多更详细的讲解:
NPM (node package manager) 入门 - 基础使用
npm入门文档
【原】nodejs全局安装和本地安装的区别

上一篇下一篇

猜你喜欢

热点阅读