我正在使用 React Router Dom v6。因此,對于我的 Web 應用程式,我在userAction呼叫中創建了一個 Redux 操作logoutUser,并在視圖dashboard.jsx中添加了一個注銷按鈕,該按鈕應該將我導航到主頁('/')。我的問題是點擊注銷什么也沒做,我的代碼錯了嗎?
用戶操作.js:
export const logoutUser = (navigate) => {
return () => {
sessionService.deleteSession();
sessionService.deleteUser();
navigate('/');
}
}
儀表板:
import {useNavigate} from 'react-router-dom'
const Dashboard = ({logoutUser}) => {
const navigate = useNavigate();
return (
<div>
<StyledButton bg={colors.red} to="#" onClick={()=>logoutUser(navigate)}>
Logout
</StyledButton>
</div>
);
uj5u.com熱心網友回復:
logoutUser正在回傳一個函式而不是執行您想要的任務。您可以將其更改為:
export const logoutUser = (navigate) => {
sessionService.deleteSession();
sessionService.deleteUser();
navigate('/');
}
或者您將您的onClick部分更改為下面的代碼,因此您執行通過以下方式重新調整的函式logoutUser:
onClick={()=>logoutUser(navigate)()}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/491880.html
標籤:javascript 反应 还原 反应路由器 反应路由器dom
上一篇:單擊按鈕后如何使輸入欄位為空?
下一篇:d3:Y軸間隔不是由刻度設定的
