React-native 知识点-this.bind-返回键-React.cloneElement-控件显示隐藏-ScrollView
来源:互联网 发布:最新网络歌曲排行榜 编辑:程序博客网 时间:2024/05/14 14:37
1 图片作为listview的每个item的背景,如下图,如何宽度全屏;如何给图片加蒙层
宽度全屏:
使用Dimensions获取屏幕的宽度,高度设为宽度的百分比即可(下面是Image标签的stytle)
蒙层:
有一个不透明属性opacity,但是对图片本身并不好用,主要用在View上
所以我采用的是如下方式:(切记,作为蒙层背景的view的宽高要和Image标签的一样)
把opacity属性用在作为蒙层的view上,并且要配合position属性使用,如下:
2.this.bind问题:
如果在调用方法时报错“null is not an object”,一般这种错不是参数传递错误就是绑定this的问题
这里主要说绑定this,如下几种绑定:
1.this.onPageScroll.bind(this)
2.()=>this.onPageScroll()
3.在构造函数中一次性绑定,据说这种绑定可以解决第一种绑定产生的隐患,
至于什么隐患大家自行了 解:
this.onPageScroll= this.onPageScroll.bind(this);
绑定this建议大家使用第二种或者第三种!!
3.返回键的监听!
这个知识点现在回头来看,属于基础性问题,但是自己还是折腾了半天!所以还是贴出来:
需要在生命周期函数中监听componentWillMount,或者componentDidMount
有些地方说要注销这个事件,但是我没注销没感觉到有啥影响,不放心的同学在如下声明周期函数中调用:
4.关于React.cloneElement参数问题
该问题是自己捣鼓第三方”react-native-viewpager“插件所遇到的(虽然最后放弃使用)
第三方“react-native-viewpager”中有默认的指示器,想模仿写一个,但是不知道props参数怎么取:
如下图是viewpager中源码:(log自己加的)
使用:
然后问题就来了!自定义的的DouNiuInderictor中没有拿到数据
问题解决如下:
props参数肯定传过来了,只是被View标签包裹后,被View给截取了!!!
现在的问题是:如果我必需加View标签包裹标签呢???
谁知道怎么从上一级获取props吗??希望知道怎么解决的同学,及时回复!如果我自己解决了,会及时更新该篇博客
5.整个View控件包裹的区域都可以作为事件点击区域
该问题也属于基础性问题!!!View标签包裹Image和Text!!如果想把onPress事件放在View上,但是点击无效果,那么将View标签 替换为TouchableOpacity标签!该组件用于封装视图,使其可以正确响应触摸操作:
如果不想有点击颜色变换,请使用activeOpacity属性(以多少不透明度显示,一般是0到1之间)
6.如何控制一个组件的显示隐藏:
单纯的显示隐藏可以使用opacity足够了,但是如果想隐藏之后不占据该位置,如下使用(即改变state的值或者参数值来控制)
7.ScrollView高度问题
官方说必须给ScrollView指定一个高度,但是不建议设置具体数值!!那么如何做?如下方式也可
- React-native 知识点-this.bind-返回键-React.cloneElement-控件显示隐藏-ScrollView
- react-native react 中的bind(this)
- React Native控件之ScrollView组件详解
- React Native之ScrollView控件详解
- React Native之ScrollView控件详解
- react系列-bind this
- React的bind(this)
- 【React Native】React Native的bind方法
- React Native之 ScrollView
- react-native之ScrollView
- React Native 之 ScrollView
- react native 代参bind this 的两种方式
- react native 代参bind this 的两种方式
- react native onPress响应方法是否加bind(this)
- React-Native 知识点小结
- React-native隐藏tabbar
- react native ,隐藏TextInput
- 【React Native开发】React Native控件之ScrollView组件讲解(14)
- win系统下node.js安装及环境配置.
- C#和Java区别
- 蓝桥杯历届-打印十字图
- android开发练习五-添加一个listview
- 蓝桥杯五3李白打酒递归或深搜
- React-native 知识点-this.bind-返回键-React.cloneElement-控件显示隐藏-ScrollView
- HIVE2.0.0安装遇到的问题
- QT 同时支持鼠标和触摸屏
- 【Educational Codeforces Round 6A】【水题】Professor GukiZ's Robot 曼哈顿距离
- ubuntu 上tp-link无线网卡驱动安装
- 分治法求最大子序列和问题
- 【小镇的技术天梯】黑客技术(1) MITM-中间人攻击
- 【Educational Codeforces Round 6B】【暴力】Grandfather Dovlet’s calculator 区间所有数的火柴总成本
- idea设置todo快捷键