目前写 React 19 的文章已经有很多很多了,但是,写到点子上的并不多。包括官方文档,只是简单的罗列出了它新增了一些 hook,一些特性,却并没有进一步说明这些 hook 背后所代表的含义,它们的最佳实践是什么。
以至于,在这个时间节点,期待 React 19 的人也并不是很多。
但是,我要告诉大家的是,我们都严重低估了 React 19。
beta 版在 npm 上可用之后,我就创建了一个项目,把 React 新增的特性都使用了一遍。如下图所示。
在项目开发中,新页面渲染时请求一个接口的场景非常常见。新的架构思维的开发代码如下所示。
该案例没有引入任何三方库。
首先我们需要定义一个 API 用于请求数据。
const api = async () => { const res = await fetch('https://api.chucknorris.io/jokes/random') return res.json()}
然后创建一个函数组件,并执行该 api。
export default function Index() { const __api = api() return ( <div> <div id='tips'>初始化时,自动获取一条数据内容</div> <Suspense fallback={<div>loading...</div>}> <Item api={__api} /> </Suspense> </div> )}
最后在子组件中,获取 api 执行之后得到的数据。
const Item = (props) => { const joke = use(props.api) return ( <div> <div>{joke.value}</div> </div> )}
大家可以自行感受一下新的开发方式与以前基于 useEffect 请求数据有什么不同之处。
注意:一套成熟架构思维,不是使用一个简单的方案解决某一个问题,而是要基于这套思维去解决项目中的绝大多数场景。因此我们一定要结合大量的场景去理解一套项目架构思维。
本文链接:http://www.28at.com/showinfo-26-92116-0.html被严重低估!React 19 又是一次开发方式的变革,useEffect 将会逐渐退出历史舞台
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com
下一篇: 快看,我的代码能“自己说话”!