我在React中有一個菜單,並有一個選項Log out
。我在Redux商店保持會話狀態。當我點擊Log out
選項時,我想分配一個動作來銷燬存儲中的會話,並且應用程序將呈現隱藏任何非公共UI的內容。react-router鏈接調用Redux操作
這是我render()
方法在菜單組件:
render() {
const { customer } = this.props
const options = customer.isLoggedIn ? [
{ key: 'p1', name: 'Private Page 1', ref: '/private-page-1' },
{ key: 'p2', name: 'Private Page 2', ref: '/private-page-2' },
{ key: 'l', name: 'Logout', ref: '/' },
] : [
{ key: 'l', name: 'Login', ref: '/' },
]
return (
<div className="App-menu">
<ul>
{
options.map((opt) => {
return (
<li key={ opt.key }>
<Link to={ opt.ref }>{ opt.name }</Link>
</li>
)
})
}
</ul>
</div>
)
}
它是一個更好的辦法來修改日誌出鏈接組件不是添加存儲狀態和onClick
處理?
使用React + Redux遵循單向數據流最佳實踐的最佳方法是什麼?
謝謝! :)
感謝Melounek。 – tiomno