【发布时间】:2020-02-28 12:30:40
【问题描述】:
好的,所以我有一个这样导出的 react-redux 组件...
export default {
component: connect(mapStateToProps)(Sites),
loadData
}
我正在尝试这样导入...
import Sites from '../views/site/sitesView';
const Home = () =>
AccountService.authenticated() ? (
<Sites/>
) : (....
我不断收到以下错误...
未捕获的错误:对象作为 React 子项无效(找到:带有键 {Sites} 的对象)。如果您打算渲染一组子项,请改用数组。
导入这个的正确方法是什么?
我试过了……
import { Sites } from '../views/site/sitesView';
谢谢。
完整代码...
function loadData(store) {
const state = store.getState();
const companyId = state.accountReducer.userinfo.companyId;
return store.dispatch({
type: siteActions.SITES_COMPANY_REQUESTED,
payload: {
companyId: companyId,
page: 1,
items: 50
}
});
}
function mapStateToProps(state, ownProps) {
return {
loading: state.siteReducer.isRequesting,
companyId: state.accountReducer.userinfo.companyId,
sites: state.siteReducer.sites,
countries: state.countryReducer.countries
}
}
导出默认{ 组件:连接(mapStateToProps)(站点), 加载数据 }
【问题讨论】:
-
这是正确的导出方式:export default connect(mapStateToProps)(Sites)
-
@SerhiiPuchkovskyi 我们使用 loadData 函数导出为这样的组件,这就是我收到错误的原因..
-
导出默认 { 组件:connect(mapStateToProps)(Sites), loadData
-
使用此
import Sites from '../views/site/sitesView';进行导入。之后,您可以使用类似<Sites.component />的组件和类似Sites.loadData()的函数。
标签: reactjs import react-redux export connect