我想分派外部組件。我想使用此鏈接 [https://daveceddia.com/access-redux-store-outside-react/][1] 中的選項 2。我的代碼看起來像這樣
const loginUser = async (data) => {
return axios.get(url "/sanctum/csrf-cookie").then(() => {
axios.post(url '/api/login', data)
.then(res => {
return res.data
})
.catch((err) => {
console.log(err);
})
})
}
export const handleLogin = (data) => async (dispatch) => {
console.log('test');
try {
const user = await loginUser(data);
dispatch(actions.setUser(user));
} catch (err) {
console.log(err);
}
}
并進入我的組件
const test = (e) => {
e.preventDefault;
handleLogin({email: '[email protected]', password: 'password'})
}
return (
<div className="container">
<h2>Login</h2>
<form onSubmit={handleSubmit(test)}>
//...
它沒有完成代碼,它可能包含錯誤,但目前對我來說最重要的是為什么這段代碼不起作用,如果有時是錯誤的,為什么不顯示任何錯誤。我認為問題出在sync(dispatch)。在這個例子中,我添加了 console.log 進行測驗,但它沒有顯示。沒有那個功能顯示console.log。Redux thunk 也被添加到商店中
const store = createStore(allReducers, composeWithDevTools(applyMiddleware(thunk)))
uj5u.com熱心網友回復:
匯入存盤并像這樣使用:
store.dispatch(actions.setUser(user));
您可以使用以下命令從組件中獲取狀態:
store.getState().items
uj5u.com熱心網友回復:
這是你的錯誤:
const user = await loginUser(data)(dispatch);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/353791.html
