一、JavaScript基础
1、react native与JavaScript关系
2、推荐书籍
前两本可以选一本看
3、线上参考手册
4、Chrome简单练习
二、ES6基础
1、变量与常量的声明
(1)变量的声明有两种:var或者let(用let就可以了)
(2)常量的声明使用const:
const number = 1;(用const就可以了)
let title = ‘详情页’,name = 'reactnative';
2、箭头函数
(1)概念理解
f(x)=πx ----> (x)=>3.24*x*x ---->输入=>输出---->参数=>返回值
(2)两种写法
【1】class外部:
let 函数名 = (参数)=>{内部逻辑}
【2】class外部:
class someComponent extends Component {
方法名=(参数)=>{
//内部逻辑
};
}
(3)坑:
如果用大括号,要return
【1】()=> 1
【2】()=>{1}
3、扩展运算符
(1)...
【1】概念:把一个压缩包解压到当前目录
【2】举例:
//数组
let a = [1, 2, 3, 4];
console.log(...a); //1 2 3 4
console.log(1,...a,5); //1 2 3 4 5
//对象
let z = {a:3, b:4};
let n = {...z}; //把z对象里的属性都解压出来,列出来
console.log(n); //{a:3, b:4}
(2)解构(从数据解构(数组、对象)里取出值)
【1】数组(不建议使用)
let [a,b,c]=[1,2,3];
console.log(a, b, c); //1 2 3
【2】对象(建议使用)
var props={checked:false, data:{count:3,price:100}}
var {checked,data:{count}}=props; //可以从对象中取出值
console.log(checked,count);
4、模块的导入导出
(1)概念:
【1】模块:一个js文件
【2】导入导出:一个模块不导出就不能导入
5、数组的新增方法(map、includes)
(1)数组查找元素includes
[1,2,3].includes(2) //true
[1,2,3].includes(4) //false
(2)字符串includes
'hello'.includes('hell') //true
(3)map返回等长的新数组(常用)
【1】概念:相当于简化的新数组
【2】使用:
let odds = [1,3,5,7,9];
let evens = odds.map(i=>i+1); //[2,4,6,8,10]
let names=['tom', 'jerry'];
let nameTags = names.map(n => {n}); //常用:可以直接拿去渲染
【3】注意:
map可以有两个参数names.map((n, index)=>{n})
三、NodeJs基础
1、为什么React Native需要Node.JS?
(1)提供React Packager运行环境
(2)提供npm包管理器来安装第三方模块
(3)可参考的代码规范
2、经验:
(1)如果安装第三方库执行npm install xxx --save
3、模块引入导出:
(1)写法:
export default moduleA;
import moduleA from './a'
(2)注意:
【1】若不带路径,表示是在node_modules里找
【2】路径:上一级../上两级../../