反应路由器-如何从内容渲染链接

时间:2018-06-29 22:33:37

标签: javascript reactjs react-router

如何从带有内容的段落中渲染react-router Link组件? 它可能处于随机位置,并且找不到对beforeText,link和afterText对象的手动content参数

假设我正在建立一个博客,其中博客文章部分将带有一些url的内容传递到文本呈现组件,并且它是链接到内部应用程序路线(或者可能不是纯文本)

  class ParentComponent extends Component{
    render(){
      <Content content='Lorem ... <Link to="/page">Some link</Link> lorem ipsum ...'
    }
  }


  class Content extends Component {
     const { content } = this.props
     render(){
       <div className="text-section">
         {content}
       </div>
     }
   }

1 个答案:

答案 0 :(得分:2)

您应该使用this.props.children传递嵌套的组件,以便可以直接渲染它们。然后,您的代码应如下所示:

 class ParentComponents extends Component{
     render(){
         <Content>
          <p>Lorem ...<Link to="/page">Some link</Link>lorem ipsum</p>
         </Content> 
     }
 }


class Content extends Component {
    render(){
        <div className="text-section">
            {this.props.children}
        </div>
    }

}