2020.8.23

120 阅读1分钟

1.什么时候使用状态管理器?

状态管理器本质上是解决组件间通信的问题,当你使用状态提升,context,storage都无法很好解决问题时,一个状态管理器作为一个中间者,有效降低组件通信间的复杂度。 常用的常景:改变主题色,购物车,webSocket的全局推送

2.render函数中return如果没有使用()会有什么问题

JSX语法书写react语法时,babel会将jsx语法编译成js,并且在每行自动添加分号。 如果return换行了就会变成return;继而报错,即渲染没有任何返回内容 为了代码的可读性,在后面添加括号可以折行书写。return后面紧跟着语句,这样也是可以的。

3.componentWillUpdate可以直接修改state的值嘛

react组件在每次重新渲染都会调用componentWillUpdate,当调用this.setState会触发另一个componentWillupdate(),这样将会无限循环

4.什么是babel?babel能做什么?

js高速发展,新的标准和提案层出不穷。babel是一种用途很多得js编译器。可以利用一系列的plugin来编译es6甚至是jsx的语法。