我还没react 过来.我对Angular2+更熟悉.在Angular中,每个组件都有一个单独的html文件.然而,在React中,我看到呈现函数本身包含html模板.例如

import React, { Component } from 'react';

class HelloWorld extends Component {
    render() {
        return (
            <h2> Hello World </h2>
        );
    }
}

export default HelloWorld;

嗯,我想

<h2> Hello World </h2>

例如,在js文件之外,将其放入一个单独的html中,然后导入html文件以实现渲染功能

 render() {
            return (
                import content of helloworld.html
            );
        }

你知道怎么做吗?

推荐答案


在React中,您通常会创建一个子组件并将其导入父组件.


因为这里的子组件只是静态标记i.e <h2>Hello World</h2>,所以不需要担心组件状态.

因此,您可以执行以下操作:

  1. 为文本制作functional(又名statelessdumb)组件.你可以把它命名为HelloWorldText作为一个例子.

  2. 将此functional组件导入父组件HelloWorld.


您的功能组件如下所示:

HelloWorldText.js

const HelloWorldText = () => ( <h2> Hello World </h2> );

export default HelloWorldText;

然后,将该功能组件HelloWorldText导入父组件HelloWorld,如下所示:

HelloWorld.js

import React, { Component } from 'react';
import HelloWorldText from './path/to/HelloWorldText';

class HelloWorld extends Component {
  render() {
    return (
      <HelloWorldText />
    );
  }
}

export default HelloWorld;

这是一个100码.

不幸的是,在CodePen上,您无法导出和导入组件,但希望它仍能让您了解如何在父组件中使用子组件.



Note:在React中,您希望您的组件尽可能通用.你可能最终会制造Text个组件,而不是HelloWorldText个组件.

然后使用props将文本动态地传递到Text组件中.

下面是100个正在运行的例子.

Reactjs相关问答推荐

无法使用#13;或br将新行设置为文本区域'"&"<>

如何在MUI X数据网格列中显示IMG?

当我try 部署我的Reaction应用程序时,为什么在此PrevState语句中收到语法错误?

React:关于useEffect钩子如何工作的困惑

如何使用Reaction Testing Library+Vitest正确更新单元测试中的输入?

useRef()的钩子调用无效

无法在下一个标头上使用 React hooks

使用 React + Vite 范围化 CSS

为什么在 React 的 useEffect 中使用 onAuthStateChanged ?

这个简单的React组件为什么会多次渲染?

将水平滚动视图添加到底部导航选项卡

cypress `cy.now()` Type 'Promise' 没有调用签名

如何在 ReactJS 中提交后删除 URL 中的查询参数

单击按钮或文本从一个组件移动到另一个组件

如何通过 id 从 useSprings 数组中删除元素

在 redux 中分派到另一个减少时状态值不会改变

如何制作基于对象 struct 呈现数据的可重用组件?

为什么我在此代码段中看不到 useEffect for count = 1?

如何在 React 中单击鼠标的位置动态添加 div?

React router dom 6 和 bootstrap 2.5 nav 链接渲染整个应用程序