1.环境搭建部分
安装完node后建议设置npm镜像以加速后面的过程(或使用科学上网工具)。注意:不要使用cnpm!cnpm安装的模块路径比较奇怪,packager不能正常识别!
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
官方文档0.44mac下搭建,使用homebrew安装东西,可先制定国内的镜像源http://ban.ninja/,具体操作步骤是终端输入vi ~/.bash_profile,若没有的话先创建该文件,在.bash_profile文件里粘贴export HOMEBREW_BOTTLE_DOMAIN=http://7xkcej.dl1.z0.glb.clouddn.com,然后保存退出(vi操作: 粘贴后control+c,然后输入:qw后回车),最后终端里输入source .bash_profile使其生效。可以brew install watchman看看是否OK。
官方文档推荐了Watchman有用,Flow不好用,别装。
使用AppCleaner可以把软件卸载干净。
中文的文档有问题,和英文官方文档不一致,中文作为一个参考,主要看英文的环境变量配置等。可以看晴明的视频环境讲解。
另外买一个稳定的翻墙服务,安卓开发非常需要翻墙。
IOS模拟器Simulator装中文输入法,选择setting(command+shift+h 进入首页,相当于home键),然后按照手机设置即可。
2.
render() { return ( <View style={styles.flex}> <View style={[styles.flexDirection, styles.inputHeight]}> <View style={styles.flex}> <TextInput style={styles.input} returnKeyType="search" placeholder="请输入关键字" onEndEditing={this.hide.bind(this, this.state.value)} value={this.state.value} onChangeText={this.getValue} />
最内层的TextInput组件实例的this,为何不是实例自身,而是最外层定义的组件实例?
目前的理解是,ES6中“类的方法内部如果含有this,它默认指向类的实例”,在定义类的时候,this都指向该类的实例,而在使用实例的时候是不一定的。