我正在建立一个nextjs博客应用程序。
在当前的blog布局中,我设法使用useEffect/fetch(因为getInitialProps只在Pages下工作)获取了侧边栏上的数据(我需要它来显示我的“最近的帖子”),但是每当我在页面之间路由时,它就会触发。
有没有办法在初始加载后禁用此行为并创建一个常量或smth?我使用了“[]”方法,但仍然没有成功:
const [posts, setPosts] = useState([])
useEffect(()=>{
const fetchData = async () => {
const res = await fetch('/api/posts');
const {data} = await res.json();
setPosts(data)
}
fetchData()
}, []);
或者有没有更好的方法来获取我的侧边栏上的数据?这是我设法使它工作的唯一解决方案,但它只工作了一半。
1条答案
按热度按时间vuv7lop31#
组件布局如下:
布局〉页眉顶部导航主页脚
Main有2个子项〉LeftBar(我的主要内容所在的位置)和RightBar(我显示我最近的帖子的位置)
布局 Package index.js页面,所以我将props.children传递给layout〉main〉leftbar组件。
我希望这解释得够清楚了。