【问题标题】:React.JS Inject a HTML file into another HTML file.React.JS 将一个 HTML 文件注入到另一个 HTML 文件中。
【发布时间】:2015-12-09 21:05:08
【问题描述】:

我目前正在学习 React.js,知道它只是 MVC 的视图。我来自 Angular 堆栈,我开始担心 React.js 的一些事情。

其中之一是如果您有一个部分 html 文件,您如何将该文件注入另一个文件以构建一个正常运行的 html 文件。

例如。我将如何将页眉、正文和页脚文件包含在一个文件中?

我读过关于 dangourouslyinnerHTML 的文章,出于 XSS 的原因我不想使用它。有没有我想念的不同方式?或者这是我必须让 gulp 编译的东西?

【问题讨论】:

  • 您将组件与 react 一起使用,因此每个组件都是一组 HTML,您可以将其“注入”到另一个组件中。
  • 正如@Ivan 所说,您将拥有一个 Header 组件、一个 Body 组件和一个 Footer 组件,并且您的(例如)App 组件将呈现所有三个组件。
  • 而那些组件必须构建在一个js文件中?而不是 html?
  • @MaxLynn 是的。 HTML 放在每个 React 类的渲染函数中(放在 js 文件中)。
  • 好吧,所以你有一个 js 文件,里面有你的 html,然后在你的 html 文件中编译为 html。很有趣的方法。谢谢你的帮助。介意我再问一个问题吗?

标签: javascript html reactjs


【解决方案1】:

正如 cmets 中所讨论的,React 范式有点不同。 React 建立在组件的概念之上,其中包含 JavaScript 中的事件、HTML 和 CSS。

例如,您可以有一个HeadBodyFooter 组件,它们都将在您的App 组件中呈现。此示例使用 JSX:

var App = React.createClass({
  render() {
    return (
      <div>
        <Head />
        <Body />
        <Footer />
      </div>
    );
  }
});

HeadBodyFooter 组件看起来很相似,每个组件都有自己的渲染函数,在其中返回 HTML。

我建议阅读 React 文档的 Thinking in React 部分。

【讨论】:

  • 啊,我已经读过这个...好的,然后这些组件会将您的 html 放在一个 js 文件中。这现在更有意义了。因此,如果可以的话,我想问一个问题,如果没有 JSX,您将如何做到这一点?据我所知,它已被弃用?
  • JSX 绝对已被弃用
  • JSX 是编写 React 代码的方式。转译器会将 JSX 转换为普通的 JS。
  • 我明白了。我的坏不知道我从哪里得到的。那是很棒的团队。谢谢你的帮助。我正在成为一名职业选手哈哈
猜你喜欢
  • 2023-04-02
  • 2012-10-08
  • 2014-01-19
  • 2021-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-11
  • 2017-08-18
相关资源
最近更新 更多