重定向后我可以获得道具吗?
return {
redirect: {
destination: '/auth-page',
permanent: false,
},
props: {
initialReduxState: {user},
}
}
Run Code Online (Sandbox Code Playgroud)
重定向后,我尝试获取“auth-page”上的道具。道具对象是空的。
实际上,我在将道具从第 1 页 SSR 传递到第 2 页时遇到了同样的问题,我最终通过传递查询参数找到了以下解决方案。
这是一个简单的例子:
page1:在“服务器端 props”函数中,我们将传递“force_logout”,例如:
export async function getServerSideProps(context) {
return {
redirect: {
permanent: false,
destination: "/users/login_page/?force_logout=true",
},
};
}
Run Code Online (Sandbox Code Playgroud)
page2 :我们将在“服务器端 props”中接收查询参数并将其作为 props 发送到同一页面,如下所示:
const loginPage = (props) => {
const {query} = props ?? null
useEffect(() => {
if(query?.force_logout === 'true'){
console.log('yes force_logout is received ')
const isServerSide = typeof window === "undefined";
if(!isServerSide){
localStorage.removeItem('test_key')
}
}
}, [])
return(
<div> test login page </div>
)
}
export default loginPage
export async function getServerSideProps(context) {
const {query} = context
console.log(query)
return {
props: {query}
}
}
Run Code Online (Sandbox Code Playgroud)
这只是示例,并根据您的情况/要求进行更改。
我希望这有帮助。