我有一个列表页面和一个创建页面,我在列表页面上没有问题。列表页面将有动作,减少和存储,我没有问题。现在我一直坚持如何将一个商店连接到多个组件。
import { connect } from 'react-redux';
import Ads from '../../components/admin/ads';
import createAd from '../../Components/admin/createAd' // how to connect this too?
//redux action
import { getAds } from '../../actions/admin/ads';
const mapStateToProps = (state) => ({
data: state.adsReducer
})
const mapDispatchToProps = (dispatch) => {
return {
getAds: () => {
dispatch(getAds())
}
}
}
const AdsContainer = connect(
mapStateToProps,
mapDispatchToProps,
)(Ads)
export default AdsContainer;
新网页createAd拥有自己的容器是没有意义的,因为它属于广告类别。
答案 0 :(得分:0)
您可能希望将商店连接到位于List和Create组件上方的<App>
组件 - 然后您可以将数据传递给每个组件。
从根本上说,如果您希望<ComponentB>
获取connect(...)(ComponentA)
来电提供的数据,那么<ComponentB>
必须是<ComponentA>
的孩子。这只是常规的React,数据在树下流动。如果您希望它流向树的不同部分,请将数据移到更高的位置。