美文网首页
所有React组件必须像纯函数那样,不能改变其props

所有React组件必须像纯函数那样,不能改变其props

作者: AC编程 | 来源:发表于2018-09-07 11:13 被阅读41次

    一、Props are Reaad-Only(Props是只读的)

    • 不论是通过函数的方式,还是类的方式声明一个组件,组件绝不能修改自己的props。
    • React非常灵活,但它有一个严格的规则:所有React组件必须像纯函数那样,不能改变其props。当然,应用程序的UI是动态的,随时间变化。state允许React组件随时间变化而改变它们的输出,以此来响应用户操作、网络响应或其他任何内容,而不违反上述规则。

    二、什么是“纯函数”

    • 纯函数是指 不依赖于且不改变它作用域之外的变量状态 的函数。
    • 简单来说,一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。

    看看一下这个sum函数:

    function sum(a, b) {
      return a + b;
    }
    

    这类函数被称为‘pure’,因为它们不试图改变它们的输入,并且对于相同的输入总是返回相同的结果。

    相反,下面这个函数是不纯的,因为它改变了自己的输入:

    function withdraw(account, amount) {
      account.total -= amount;
    }
    

    相关文章

      网友评论

          本文标题:所有React组件必须像纯函数那样,不能改变其props

          本文链接:https://www.haomeiwen.com/subject/msaqgftx.html