日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

setSignVisible的修改

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 setSignVisible的修改 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

store傳入accountReducer

1.從cookie中獲取id,avatar,nickname.
2.createStore(reducer, initState)傳入reducer,可以在頁面中state.accountReducer.current_account獲取

const middleware = routerMiddleware(browserHistory); let initState = {};if(Cookie.hasItem("id")){initState.accountReducer = {current_account:{id: Cookie.getItem("id"),avatar: Cookie.getItem("avatar"),nickname: Cookie.getItem("nickname")}} } let store = createStore(reducer,initState,compose(applyMiddleware(thunkMiddleware, middleware),(window.RAILS_ENV === 'development' && window.devToolsExtension) ? window.devToolsExtension() : f=>f) );

SignInPopup組件

1.通過this.props.sign_in_popup_visible是true或false來判斷是否顯示登陸框.
true則顯示,false則隱藏.
2.隱藏登陸框,this.setSignVisible(false);,調用this.props.dispatch(setSignInPopupVisible(visible));
3.Action:
function setSignInPopupVisible(value){

return {type: SET_SIGN_IN_POPUP_VISIBLE,value: value };

}
4.reducer:
function current_account(state={}, action){

switch(action.type){case SET_ACCOUNT:return Object.assign({}, state, action.data);case INIT_ACCOUNT:return action.data;default:return state; }

}

{this.props.sign_in_popup_visible?<Modal onClose={this.handleSignInPopupClose} mode="simple"><SignInPopup /></Modal>:""} sign_in_popup_visible: state.accountReducer.sign_in_popup_visible setSignVisible: function(visible) {this.props.dispatch(setSignInPopupVisible(visible)); }function setSignInPopupVisible(value){return {type: SET_SIGN_IN_POPUP_VISIBLE,value: value};}

checkStatus

1.current_account從原始狀態init_state獲取.
如果初次登陸沒有cookie,則調用this.setSignVisible(true),顯示登陸框.
如果有cookie信息,則return true,執行下面的代碼.
this.props.dispatch(takeRedPacket(id));
else if (xhr.status === 401) {

dispatch(setSignInPopupVisible(true));

}

checkStatus: function(){const {current_account} = this.props;if(!current_account.id){this.setSignVisible(true);return false;}else{return true;} }

總結

以上是生活随笔為你收集整理的setSignVisible的修改的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。