我们只是从React生命周期开始进入React Hooks,我们注意到的一件事情是,没有一种直接方法可以运行类似于ComponentWillMount的操作来在将呈现的页面发送给用户之前加载数据(因为useEffect不在SSR上运行。
React是否支持任何简便的方法?
答案 0 :(得分:0)
我有同样的问题。我设法通过自定义钩子并通过在服务器端两次渲染应用程序来解决它。整个过程如下:
我写了一个article,并附有描述此方法的示例。 这是指向CodeSandbox上的示例表单文章的直接链接。
我还发布了一个NPM软件包,简化了此过程-useSSE on GitHub。
答案 1 :(得分:-2)
这有点棘手,但是一种解决方法是像
一样直接在组件中进行提取 function LifeCycle(props){
console.log("perform the fetch here as in componentwillmount")
const [number, setNumber] = useState(0)
useEffect(() => {
console.log("componentDidMount");
return () => {
console.log("componentDidUnmount");
};
}, []);
}