react教程,父组件如何通过props向子组件传递数据?
发布于 作者:苏南大叔 来源:程序如此灵动~

最近苏南大叔打算写react
如何通过context
传递参数的。但是,网上有文章说,context
的出现,就是为了解决函数式组件无法通过props
传递数据的问题而出现的。这个观点,苏南大叔可不敢同意了。为了证明这种观点的错误性,苏南大叔写了本篇文章。

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述react
中,组件通过props
传递参数的方式,并且说明这种方式存在的问题是什么,继而引出后续的context
传递数据的文章。测试环境:create-react-app@5.0.1
,node@16.14.2
,react@18.2.0
,react-dom@18.2.0
。
导入import

函数式组件接收props

类式组件接收props
父组件传递props
这个demo
显示,无论是函数式组件还是类式组件,都是可以使用props
传递参数的。

结论
其实,无论是函数式组件还是类式组件,都是可以传递接收props
。它最大的问题就是:如果多个组件层层嵌套的时候,props
的传递就显得特别复杂和无助了,还可能需要把props
转为state
,代码的复杂度就直线上升了。
苏南大叔认为:这种情况就可以使用redux
的store
来解决问题,或者使用react
自带的Context
来解决问题,只需要维护一个地方的数据即可。在Prodiver
内部包裹的所有的子组件,无论嵌套多少层,都可以访问到Context
数据。


