Я пытаюсь заставить свой компонент реагирования рендериться в Meteor Я не вижу никаких сообщений об ошибках или чего-либо в консоли, однако компонент не отображается.
Я использую react-router
. Я добавил операторы журнала, и кажется, что функция renderRoutes () действительно вызывается, также я вижу ошибки в консоли, когда я изменяю каталоги для моего imports
(я получаю ошибку, если я изменяю первый оператор импорта на import {Home} from '../home/blah'
). Я не совсем уверен, что попробовать дальше.
Вот мой роутер, который находится в client/imports/lib/router.js
.
import React from 'react';
import { Router, Route, Switch } from 'react-router';
import {createBrowserHistory} from 'history';
import {Home} from '../home/home';
import {Login} from '../login/login';
import {Connect} from '../connect/connect';
const browserHistory = createBrowserHistory();
export const renderRoutes = () => (
<Router history={browserHistory}>
<Switch>
<Route exact path="/" component={Home}/>
<Route exact path="/login" component={Login}/>
<Route exact path="/connect" component={Connect}/>
</Switch>
</Router>
);
Вот моя домашняя страница. Другие страницы имеют похожую структуру. Домашняя страница находится в client/imports/home/home.js
.
import React, { Component } from 'react';
export default class Home extends Component {
constructor(){
super()
this.state = {
}
}
render() {
return (
<div><h1>hello from the home page</h1></div>
);
}
}
Наконец, это мой main.js. Это в client/main.js
.
import { Meteor } from 'meteor/meteor';
import { render } from 'react-dom';
import { renderRoutes } from './imports/lib/router.js';
import './main.html';
Meteor.startup(() => {
render(renderRoutes(), document.getElementById('app'));
});
Опять же, я не вижу сообщений об ошибках. Домашняя страница просто не отображается. Я поместил console.log в конструктор для компонента Home, и я ничего не вижу. Я не уверен, что в React есть что-то, чего я не понимаю, или мне нужно изменить способ использования маршрутизатора.
Пожалуйста, дайте мне знать, что я должен попробовать дальше, и если есть какая-либо дополнительная информация, которую я должен включить.
Спасибо!