这次做的 RN 的 Demo 是一个轮播图, 其中主要是 ScrollView 的使用, 模块导入, 样式封装等, 记录一下学习过程
首先来看效果:
就是两张图片实现了一个轮播效果, 主要用到的控件是 scrollView, 首先先创建一个 js 文件, 把这个轮播图单独拿出来:
然后导入一些必要的包:
1 |
|
接下来我们就可以在导出模块里面写代码了
我们在封装一个控件之前会先写好一部分内部的逻辑处理, 然后把数据接口和需要用户改变的一些变量暴露出来以供调用, 那么在我上面实现的栗子中, 我们只需要把数据接口暴露出来就可以了, 但是我想保留一部分必要样式, 让外部去写一些其他的样式, 这种情况应该怎么做呢? 如下
1 |
|
这里面 privateStyle 是封装的控件内部保留的样式, 而属性 mainStyle 则是提供给外部使用的 style
这个是我的 scrollView:
1 |
|
前面几个属性没啥说的, 中间的那个 {viewArray} 我的一个 UI 数组, 它的写法是这样的:
1 |
|
其中 itermsArray 是经过我处理的一个图片数组, 也可以说是数据源吧, 我们可以通过这种方式去循环创建视图, 这也是 JSX 的特性
完整的控件代码:
1 |
|
样式很简单, 就不贴了, 那我们在别的类里面如何使用这个类呢? 来看一下如何导入这个组件到其他文件中:
1 |
|
import
类名 from
‘./…’ (这个…是会自动提示的)
使用 Banner:
1 |
|