Я занимаюсь разработкой приложения для отображения на стороне сервера. У меня category.js
внутри моего Home.js
, и я хочу сделать ssr для этих двух файлов.
Home.js
import React, { Component } from 'react';
import { connect } from "react-redux";
import { bindActionCreators } from "redux";
import { loadMenuCategories } from "../actions/Home";
import { component as Menu } from './components/Menu';
import { component as DefaultCategory } from './Category';
class Home extends Component {
componentWillMount() {
this.props.loadMenuCategories();
}
render() {
const { categories, selectedCat } = this.props;
return (
<div >
<Menu/>
<DefaultCategory />
</div >
);
}
}
}
function mapDispatchToProps(dispatch,ownProps) {
return bindActionCreators({ loadMenuCategories}, dispatch);
}
function mapStateToProps({ categories }) {
return { categories };
}
function loadData(Store,Props) {
return Promise.all([
Store.dispatch( loadMenuCategories())
]);
}
export default {
loadData,
component: connect(mapStateToProps, mapDispatchToProps)(Home)
};
category.js
import React, { Component, PureComponent } from 'react';
import { Link, withRouter } from 'react-router-dom';
import { connect } from "react-redux";
import { bindActionCreators } from "redux";
import {CATS } from '../config';
class Category extends PureComponent {
componentWillMount() {
CATS.map(data => {
this.props.fetchCategorySliders(data, LIMIT);
});
}
}
render() {
return (
<div >
.......
......
</div >
);
}
function mapDispatchToProps(dispatch) {
return bindActionCreators({ fetchCategorySliders }, dispatch);
}
function mapStateToProps({ new_release, trending, editor, video_details,vStatus }) {
return { new_release, trending, editor, video_details,vStatus };
}
function loadData(store, path) {
return Promise.all([
CATS.map(data => {
Store.dispatch( fetchCategorySliders(data));
})
]);
}
export default {
loadData,
component: withRouter(connect(mapStateToProps, mapDispatchToProps)(Category))
};
но я получаю нижнюю ошибку.
Предупреждение: Реагируйте.createElement: тип недействителен - ожидал строку (для встроенных компонентов) или класс / функцию (для составных компонентов), но получил: объект.in Home в Connect (Home) в Route in Переключение в div в App in Route in Переключение в div в Router в StaticRouter in Provider (узел: 9310) UnhandledPromiseRejectionWarning: Необработанный отказ от обещания (id отклонения: 1): Нарушение инварианта: Тип элементаНедопустимый: ожидал строку (для встроенных компонентов) или класс / функцию (для составных компонентов), но получил: object.