Я схожу с ума, я строю несколько примеров с целью выучить реакции.На самом деле я разбился против TRANSITIONGROUP + ROUTER.Я могу скомпилировать без проблем, но затем я получаю следующую ошибку:
Тип элемента недопустим: ожидал строку (для встроенных компонентов) или класс / функцию (для составных компонентов), но получил:объект.Вы, вероятно, забыли экспортировать свой компонент из файла, в котором он определен, или вы могли смешать импорт по умолчанию и с именами.Проверьте метод рендеринга Route
.
В частности, он помечает красной линией строку с методом рендеринга в index.js
const root = document.getElementById('root')
if (root !== null) {
ReactDOM.render(<App /> , root)
}
, и это вызывает у меня подозрение, чтоможет быть проблема внутри app.js
...
<Route path="/" render={(props) => <AppRoutes {...props} />} />
...
Внутри AppRoutes я определил всю логику перехода
<TransitionGroup>
<Transition
key={window.location.pathname}
timeout={500}
mountOnEnter={true}
unmountOnExit={true}
>
{animation => (
<Switch location={this.props.location}>
<Route
exact
path="/"
render={(props) => <Home {...props} animation={animation} />}
/>
<Route
path="/component1/"
render={(props) => <Component1 {...props} animation={animation} />}
/>
<Route
path="/component2/"
render={(props) => <Component2 {...props} animation={animation} />}
/>
</Switch>
)}
</Transition>
</TransitionGroup>
Затем внутри отдельных компонентов я хочу получить состояние перехода и применить свой любимыйанимации.
Во всех случаях я использую для импорта:
import mycomponent from "mycomponent-path";
и для экспорта из внутренних компонентов:
export default mycomponent
внутри компонентов, которые я использую для расширения компонента реакции:
class mycomponent extends Component
Я провел несколько дней в поисках и экспериментировании с нулевыми результатами.Код в общедоступном репозитории github: https://github.com/acidinucleici/lezioni-react/tree/master/app04
Надеюсь, в правильном предложении сделать так, чтобы маршрутизатор и переход работали:)