react是Spa模式,即组件嵌套,其主要的传参方式有:1、在挂载的地方给组件传参;2、父子传参,即用props或ref方式传参;3、子父传参,即子组件通过触发父组件的方法来改变父组件的状态;4、兄弟传参,即通过改变公有组件的状态进而改变子组件的状态;5、远亲间的传参,即通过redux协助传参。
本教程操作环境:windows7系统、react18.0.0版、Dell G3电脑。
react是不是Spa?
react是一个SPA模式,即组件嵌套,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种:
1、在挂载的地方给组件传参
ReactDOM.rander(<a name='a' age={16}/>,app)
在渲染的时候,直接给挂载的组件传参。
2、父子传参
父子传参可以用props和ref两种方式,①,props方式传参,父组件通过改变自己的参数并且通过props将状态传递给子组件,并在子组件中显示。②,通过ref传参,这种方式是通过子组件自己的方法改变自己的状态后,父组件通过触发子组件的方法更改参数。
3、子父传参
子组件通过触发父组件的方法来改变父组件的状态,
4、兄弟传参
兄弟传参有两种,一种是通过状态提升,通过改变公有组件的状态进而改变子组件的状态,另一种是通过ref传参的方式,改变原有的状态。
5、远亲间的传参
通过redux协助传参,一般会适用与项目间的交互较多时使用,并没有什么互动时若使用redux反而会增加项目的复杂度,当不知道要不要使用redux的时候就不要使用。
相关介绍:
单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。
—— 《百度百科》
SPA 的概念早已有之,简单说来就是:不管你这个网站有多少页面,我都给你整到一个页面里去。
SPA不做页面刷新,只做局部更新,也就是除了你第一次打开网站的时候需要加载整个页面之外,之后的一切站内跳转都是不重载页面的,而是在当前页面进行局部刷新,达到页面切换的效果。
想象一下,假设网站原本需要两个页面a和b,但现在我只做一个index,然后把a和b两个页面的所有html片段都写到index里去,显示的时候,通过js来判断当前的url,如果是/a,我就只显示原本属于a的html片段;同理,如果是/b,我就显示b的html片段。
推荐学习:《react视频教程》
以上是react是不是Spa的详细内容。更多信息请关注PHP中文网其他相关文章!