我使用getServerSideProps()
在服务器端获取数据,然后将其显示给用户:
export const getServerSideProps = async () => {
// fetch some data...
if (some_error_condition) {
return { error: "Something happened" };
}
return { props: { num: 123 } };
};
export default function Component({ num, error }) {
if (error) {
return <>Error: {error}</>;
}
const [num, setNum] = useState(num); // <-- this hook is called conditionally
return <>...</>;
}
在React组件中,一些钩子依赖于服务器端的数据。因此,我需要在使用不存在的数据调用这些钩子之前显示一个回退UI。
然而,这导致了这个(可理解的)错误:
Error: React Hook "useState" is called conditionally.
如何在Next. js/getServerSideProps()
环境中最好地避免这种情况?
1条答案
按热度按时间laawzig21#
您可以创建新组件并动态导入它