react 入门坑之StrictMode

废话不多说,直接进入正题
react使用版本号16.13.1或16.13.0,当我们对组件使用StrictMode严格模式时,会默认双调用 constructor、render、setState、static getDerivedStateFromProps等方法;这些可在官方文档中查阅到
image.png
目的是什么我这里就不多说了,请自行前往官方文档查阅

这里要特别提到的就是,react17好像在对组件使用StrictMode严格模式时不会再双调用该些方法(个人替换过版本号测试过),不过官方文档中还没有说明这点(吐槽下react的文档没有vue文档那么齐全和友好的阅读体验)。

这里再提一个关于next.js的问题,目前稍未明白是为什么

next.js版本号10.0.0,react版本号16.13.1;当我的浏览器url上没有任何参数时如:http://localhost:3000,组件的生命周期执行顺序是正常的,但当我的浏览器url上携带了参数时如:http://localhost:3000?userId=12580 则会出现执行完一遍挂载生命周期方法后又执行了一遍更新生命周期方法。这与StrictMode的双调用又有所不同,next.js文档中也未提到这一点(又吐槽文档),期望有人能解答我的困惑

你可能感兴趣的:(前端,react.js)