我把一个对象分派到一个数组中,我得到一个信息,它已经成功发送了,但是这个数组的长度在我的Header组件中没有改变。
store.getState().Basket.length
未重新呈现。仅当更改路径时重新呈现该值。
这是标题组件:
function Header() {
return (
<div id="Header">
<Link to='/' style={{ display: 'flex',textDecoration: 'none', color: '#000' }}>
<div className='Header_Pole'>
<img src={logo} alt='Logo' className='Header_Pole_img'/>
</div>
</Link>
<Link to='/basket' style={{ display: 'flex',textDecoration: 'none', color: '#000' }}>
<div className='Header_Pole'>
<img src={shoppingBasketIcon} alt='Basket' className='Header_Pole_img'/>
<p className='itemsCounter'>{ store.getState().Basket.length }</p>
</div>
</Link>
</div>
)
}
export default Header;
储存:
export const store = configureStore({
reducer: {
Basket: basketReducer
}
})
调度功能:
const addToBasket = () => {
dispatch({
type: addtoBASKET,
item: {
id: Products[idOfProduct - 1].id,
name:Products[idOfProduct - 1].name,
type: Products[idOfProduct - 1].type,
image: Products[idOfProduct - 1].image,
price:Products[idOfProduct - 1].price,
size: gettingSize() // return a size
}
})
}
我试着在网上找一些东西,但什么都没有用。
2条答案
按热度按时间lfapxunr1#
您应该使用
react-redux
中的挂接useSelector
当redux状态更改时,
useSelector
将通知您的组件并更新您的组件wpx232ag2#
你必须使用
react-redux
来处理react中的redux状态,否则你必须手动实现两者之间的状态同步。