请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问为什么这里引入的Routes是写在{}里作为变量, 为什么不能作为组件插在StaticRouter中(<Routes />)

const content = renderToString( {Routes} )请问老师为什么这里引入的Routes是写在{}里作为变量, 为什么不能作为组件插在StaticRouter中(这种形式)谢谢

正在回答

1回答

我觉得应该是因为Routes的代码 export后被import进来,指的是

<div>

<Route path="/" exact component={Home}></Route>

<Route path="/login" exact component={Login}></Route>

</div>

这个部分的代码,在react中的JSX语法中,<Routes/>这样的语法应该是一个木偶组件const Routes=()=>{return ..... },或者是一个容器组件class Routes extends Component{ render(){return ......}},然而在这里,不是需要渲染一个组件,而是把这段代码放在StaticRouter中间

1 回复 有任何疑惑可以回复我~
  • 提问者 IncredibleJoe #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-09-24 22:02:19
  • 提问者 IncredibleJoe #2
    多谢, 明白了.   如果这里要用<Routes/>这种形式的话, 那个Routes最后export的需要是一个函数或者一个类(而当前返回的直接是一段JSX代码)
    回复 有任何疑惑可以回复我~ 2018-09-24 22:04:12
  • 提问者 IncredibleJoe #3
    而当写成<>形式时, 渲染时会调用其中的render函数, 无状态组件则直接接收返回值作为变量{}插入, 这下联系起来了
    回复 有任何疑惑可以回复我~ 2018-09-24 22:10:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信