1
我是新進終極版,我想知道這是如何實現展開/收起側邊欄有相同的按鈕正確的方法。展開/收起側邊欄與終極版
我有React組件側邊欄bool變量isCollapsed
其初始狀態是false
這意味着側欄被展開。
constructor(props){
super(props)
this.state = {
sidebar: { isCollapsed: false }
}
this.onClickCollapseSidebar = this.onClickCollapseSidebar.bind(this)
}
而在onClick
我打電話selfdefined方法onClickCollapseSidebar
<a onClick={this.onClickCollapseSidebar} className="sidebar-control"></a>
而且裏面onClickCollapseSidebar
我派遣行動的collpase和擴大。
onClickCollapseSidebar(event) {
if(this.props.sidebar.isCollapsed) {
this.props.actions.expandSidebar(this.props.sidebar)
} else {
this.props.actions.collapseSidebar(this.state.sidebar)
}
}
我想知道如果這是正確的方法如何處理Redux的這種情況。
我知道我可以使用本地狀態與反應的setState
方法或使用庫作爲redux-ui來處理這些情況,但我想只用REDX做。
我對這些行爲減速是
export default function sidebarReducer(state = [], action) {
switch (action.type) {
case types.COLLAPSE_SIDEBAR:
return Object.assign({}, state, {isCollapsed: true})
case types.EXPAND_SIDEBAR:
return Object.assign({}, state, {isCollapsed: false})
default:
return state
}
}
謝謝很有意義。 – Enerikes