2017-08-30 122 views
0
import React from 'react'; 
import { render } from 'react-dom'; 
import { BrowserRouter as Router, Route } from 'react-router-dom'; 

import Header from './components/header'; 
import Body from './components/body'; 
import Archive from './components/archive'; 
import Settings from './components/settings'; 

import './assets/css/style.css'; 

const wrapper = <Router> 
     <div> 
     <Header/> 
     <Route exact path="/" component={Body}/> 
     <Route path="/archive" component={Archive}/> 
     <Route path="/label/work" component={Settings}/> 
     <Route path="/settings" component={Settings}/> 
     </div> 
</Router>; 

render(wrapper, document.getElementById('app')); 

在上面的代码中,Body组件以开发模式呈现。 但是,当我在生产中运行相同的代码生成身体组件不呈现。在生产版本中未渲染的反应路由组件

输出:

发展模式:身体成分呈现

enter image description here

生产体形:身体在这个例子中in documentation

enter image description here

+0

没有任何错误控制台上生产版本? – bennygenel

+0

@BünyaminBennyGenel没有控制台错误 – Abhishek

+0

你可以尝试使用'const wrapper =()=>(//你的代码在这里)包装包装常量;' – bennygenel

回答

0

看不渲染

组件

尝试用无状态组件更换包装:

const wrapper =() => (
    <Router> 
     <div> 
     <Header/> 
     <Route exact path="/" component={Body}/> 
     <Route path="/archive" component={Archive}/> 
     <Route path="/label/work" component={Settings}/> 
     <Route path="/settings" component={Settings}/> 
     </div> 
    </Router> 
); 
+0

无状态组件是什么意思? – Abhishek

+1

它的一个功能组件(就像这个答案中的一个),它的构造函数中没有任何状态。当你有这种情况时,你可以用这种方式定义一个组件,它只会有渲染功能。它们也被称为* dumb *组件。 –

+0

@echuve仍然没有渲染。 – Abhishek