首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >reactjs中的Render函数

reactjs中的Render函数
EN

Stack Overflow用户
提问于 2015-11-02 02:31:35
回答 2查看 14K关注 0票数 4

快速问答。我正在学习react js。

当我们创建一个组件时,我们在render函数中提供要呈现的组件的html模板。到目前为止,我只看到了包含非常小的html片段的小组件,但我想知道如果我们有一个包含大量html模板的组件会发生什么,有没有办法提供一个单独的html文件的路径?或者我们被迫在渲染函数中直接编写所有的html?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-02 02:35:38

您应该始终在render函数中编写它。你不是在里面写HTML,你是在写JSX,它被编译成Javascript。像<div className="test">这样的东西会被转换成React.createElement("div", {className: 'test'});

只要您将大型组件分解为许多较小组件的组合,您就不应该有大小问题。您可以通过在呈现函数中包含其他组件来包含这些组件,例如:<SomeComponent someProp="someVal" />

票数 5
EN

Stack Overflow用户

发布于 2015-11-02 02:48:04

你可以把你的渲染函数分成一堆好名字的方法,就像旧的普通html-template中的分词一样。这对制作复杂的react组件很有用,因为您将从代码中删除大量不可读的html-part。

例如,下面是这种方法描述的一些伪代码:

代码语言:javascript
复制
class NavBar extends React.Component {

  // Render user name and links on profile and logout 
  renderUser() {
    if (!user) return;
    return <div>{user.name}</div>;
  }

  // Render list with nav-bar items if they exists
  renderNavBarItems() {
    if (!user) return;
    return <ul>{this.items.map((i) <li><a href={i.link}>{i.name}</a></li>)}</ul>;
  }

  render() {
    return (<div className="nav-bar">
      {this.renderNavBarItems()}
      {this.renderUser()}
    </div>);
  }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33465674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档