[英]React Redux-Thunk with Typescript
所以我想用Redux Thunk輸入Redux Actions
這是一個動作
export function logout() {
return async(dispatch) => {
try {
const value = localStorage.removeItem("token");
dispatch(cons.updateLoginStatus(false));
return true;
} catch (err) {
console.error(err);
}
}
}
這是連接文件
const mapStateToProps = (store: IAppState) => {
return {
isLoggedIn: store.employee.isLoggedIn
}
}
const mapDispatchToProps = {
logout
}
export default connect(mapStateToProps, mapDispatchToProps)(Auth);
當我打電話await this.props.logout();
我想訪問返回的true
但是打字稿只能看到返回的函數。
那么,如何鍵入該函數以await
返回值?
還是有更好的方法來做到這一點?
您嘗試的內容似乎有點反模式。 該功能本來就是一勞永逸的,所以您不必掛起UI。 登錄功能應將狀態從
loggedIn: false
至
loggedIn: true
如果您需要一些魔術,也可以在登錄失敗時拋出異常,那么我建議您使用類似
this.props.login().catch(err => console.log(err)).then(() => doSomething));
但是,我強烈建議您僅調度並偵聽ComponentDidUpdate生命周期掛鈎以進行重定向或可能需要執行的任何操作。
您需要通過調度適當的操作來調用注銷功能
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.