Reactjs React.createElement:类型无效--Express/Node.js和React Router
尝试使react路由器在我的Node/Express后端工作时,react frontend我在尝试构建时遇到此警告 React.createElement:类型无效--应为字符串 在寻找答案的过程中,我发现了这个已经被问过的问题 其中解决方案涉及 *正在检查所有导出默认类组件。。。 *从react路由器dom导入BrowserRouter vs从react路由器导入BrowserRouterReactjs React.createElement:类型无效--Express/Node.js和React Router,reactjs,react-router,Reactjs,React Router,尝试使react路由器在我的Node/Express后端工作时,react frontend我在尝试构建时遇到此警告 React.createElement:类型无效--应为字符串 在寻找答案的过程中,我发现了这个已经被问过的问题 其中解决方案涉及 *正在检查所有导出默认类组件。。。 *从react路由器dom导入BrowserRouter vs从react路由器导入BrowserRouter 不要纠正我的问题。此外,当我在Chrome中打开DevTools时,我看到页面是空白的,React没
不要纠正我的问题。此外,当我在Chrome中打开DevTools时,我看到页面是空白的,React没有填充我的根div,最重要的是控制台
客户端捆绑包中有一个错误。js:1未捕获的语法错误:意外标记我已经解决了原始问题React.createElement:type无效--通过将捆绑包从Parceljs更改为Webpack,需要字符串,它似乎与构建工具相关
解决此问题时,出现了一个新问题,即错误:无法在浏览器中查找视图目录中的视图“索引”//views“
,错误:发送标题后无法设置标题。
刷新后在控制台中。目前正在调查这个新问题。我认为对我来说最好的办法就是接受这个答案,因为这个新问题似乎不相关
有人能告诉我最好的方法吗?接受这个答案还是等着看别人怎么说?关于这个新的错误迭代。乍一看,router.js不应该被命名为router.jsx吗,因为它有jsx标记?我刚刚尝试了这个更改,同时我还将更多的引用从react router更改为react router dom,并成功地删除了警告,尽管错误仍然存在,并且仍然没有渲染输出。我开始怀疑weather parceljs是否与此有关,因为我将其用作捆绑包。
import express from 'express';
import router from './routing/router';
// Basic config
const PORT = 3000;
const HOST = 'localhost';
const app = express();
// Setup server side router
router(app);
// Setup EJS template engine
app.set('views', `${__dirname}/views`);
app.set('view engine', 'ejs');
// Start server
const server = app.listen(PORT, () => console.log(`Listening to ${HOST}:${PORT}`));
import React from 'react';
import { renderToString } from 'react-dom/server';
import { StaticRouter } from 'react-router';
import Routes from './Routes';
import NotFoundPage from '../frontend/components/NotFoundPage';
// React Router as middleware
const router = (req, res, next) => {
const context = { routes: Routes, location: req.url };
const markup = renderToString( <StaticRouter context={context} /> );
res.render('index', { markup });
next();
}
export default (app) => app.use(router);
import React from 'react';
import { Route, IndexRoute, Switch } from 'react-router';
import Layout from '../frontend/components/Layout';
import NotFoundPage from '../frontend/components/NotFoundPage';
import IndexPage from '../frontend/components/IndexPage';
// Client Side Routing
const Routes = (
<Route path="/" component={Layout}>
<IndexRoute component={IndexPage}/>
<Route path="*" component={NotFoundPage}/>
</Route>
);
export default Routes;