context

来源:4-9 【高阶组件HOC】withAddToCart()

weixin_慕桂英3279289

2021-01-14

购物车业务中,创建context为什么要传入undefined?setState不是react中的钩子函数吗?

写回答

1回答

阿莱克斯刘

2021-01-15

hello 同学你好,首先代码中的14行的appSetStateContext对应的是19行setState函数,而appSetStateContext与setState的联系则是通过23行的provider建立起来的。

//img.mukewang.com/szimg/60014bb209d5abc219281032.jpg

接下来回答你的问题:

  1.  创建context为什么要传入undefined?

    因为第14行的appSetStateContext是为了初始化第19行的setState函数,而函数在未定义的时候可以被设置为undefined

  2. setState不是react中的钩子函数吗?

    1. 在函数式组件中不存在this.setState()这个函数的。

    2. this.state 和 this.setState不是钩子函数,他们属于类组件的成员函数。

    3. AppStateProvider是一个函数组件,而第19行命名为state的意义是表示这是一个全局状态,你也完全可以起任何一个其他的名字,比如:

    4. const [data, setData] = useState(dafaultContextValue);

因为没有完全理解你的问题,所以不知道我有没有讲清楚。如果还有问题,请继续追问。


2
0

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

2025 学习 · 1035 问题

查看课程