CPPAlien / JS-QA

前端知识问答
0 stars 0 forks source link

React Hooks #11

Open CPPAlien opened 5 years ago

CPPAlien commented 5 years ago

They let you use state and other React features without writing a class.

CPPAlien commented 4 years ago

纯函数:一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。也就是输入得到输出,中间不会产生其他功能。

而 hooks,就是在一个纯函数中,使用 useXXX 的方式插入了一些额外功能,这叫 副作用。比如我们可以用这个副作用请求数据,上传 log 等。

CPPAlien commented 4 years ago
const foo = (obj, b) => {
  obj.x = 2
  return obj.x + b
}

不是纯函数,因为修改了外面的传参,有副作用。

const foo = (b) => {
  const obj = { x: 1 }
  obj.x = 2
  return obj.x + b
}

是纯函数