React 中大括号的使用

2024-04-30

我正在尝试学习 React。 我在使用花括号时遇到问题。 JSX 和 JS 之间使用大括号的区别 在下面的代码中, 大括号 1 表示“现在是 JS”。 为什么有花括号 2 ?它已经在花括号区域内了吗?

var React = require('react');
var ReactDOM = require('react-dom');

var MyCompClass = React.createClass({ // open curly brace 1
  render: function () { // open curly brace 2
    return <h1>Hello</h1>;
  }
});

ReactDOM.render(
    <MyCompClass />, 
    document.getElementById('app')
);

第二个快速问题:

ReactDOM.render(
        <MyCompClass />, 
        document.getElementById('app')
    ); 

为什么 .render() 需要 MyComponentClass 周围的 HTML 标记?

感谢您的帮助 !


您正在使用对象参数调用 React.createClass 方法。第一个大括号是标准语法JavaScript 对象 https://www.w3schools.com/js/js_object_definition.asp。在这个对象中有一个称为“render”的属性。这个渲染属性可以是一个函数,因此第二个大括号是 javascript 函数语法的范围。

另外,渲染方法中的 HTML 标记是 React 组件,这是 JSX 语法。

因此,以下文档可能会有所帮助:

  1. 不使用 ES6 进行 React https://facebook.github.io/react/docs/react-without-es6.html
  2. 介绍 JSX https://facebook.github.io/react/docs/introducing-jsx.html
  3. 不使用 JSX 进行反应 https://facebook.github.io/react/docs/react-without-jsx.html

编辑:另外,我意识到 React props 的使用可能会给你带来困惑。在 React 中,props 的语法再次使用大括号,但这用于为组件提供动态绑定。通过使用此语法,如果 prop 的值发生更改,您的组件将能够更新 html。下面是这个案例的例子:

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

const element = <Welcome name="Sara" />;
ReactDOM.render(
  element,
  document.getElementById('root')
);

有关更详细的信息,请查看相关的 React 文档组件和道具的使用 https://facebook.github.io/react/docs/components-and-props.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React 中大括号的使用 的相关文章

随机推荐

  • Spring Autowire 在同一类中创建 Bean 会导致:请求的 bean 当前正在创建错误*

    我知道该错误是不言自明的 但是当我将其余模板的设置从构造函数删除为 Autowired Qualifier myRestTemplate private RestTemplate restTemplate 时 它 起作用了 只是想知道如果同
  • 像使用 LaTeX 一样在 HTML 中引用定理

    我正在编写一些包含数学内容的网页 使用 MathJax 并且我正在寻找一种方法来进行与 LaTeX 定理引用等效的操作 如下例所示 begin theorem label thm commute a b b a end theorem Ac
  • 当 contenteditable 更改时触发事件

    当div值改变时 如何触发事件 div class changeable Click this div to edit it div 因此 当其内容发生变化时 我想创建警报和 或执行其他操作 changeable text change f
  • redirect_uri 以及如何在 SoundCloud 上托管callback.html?

    我正在尝试从笔记本电脑上的本地 HTML 页面访问 Soundcloud 我被困在将 callback html 托管为redirect uri 的部分 我尝试运行的脚本是来自 Soundcloud 文档页面的基本身份验证 JavaScri
  • 如何自定义处理 Quarkus 中未找到的资源/URL?

    我对 Quarkus 很陌生 我想知道如何覆盖提供错误日志的默认 404 页面 或者如何巧妙地将所有无法识别的 URL 重定向到 META INF recourses 目录中的自定义 HTML 使用 quarkus 0 20 你可以创建一个
  • Readelf 报告程序是共享库而不是可执行文件

    使用独立的 Android NDK r10e 工具链 使用 toolchain x86 clang3 6 开关构建 出现这种奇怪的行为 交叉编译的环境变量已设置在运行makefile之前 SYSROOT指向Android工具链位置 CXX等
  • 如何将自定义 HTML 代码放入 WordPress 网站的标题中 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 这是我的网站 我需要放置 html
  • DataGridView 的替代品有哪些? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们希望在 Winforms 应用程序中替换 DataGridView 我们应该评估哪些替代方案 商业或
  • 从 Parse.com 获取 NSString 并将其粘贴到 UILabel 中

    我想从 Parse com 获取 NSString 并将其粘贴到我的 iOS 应用程序中的标签中 有谁知道该怎么做 我遇到了很大的问题 提前致谢 反问题是 你想要得到哪个 NSString 我认为这是您想要显示的 PFObject 的某些属
  • 为什么字符串中的反斜杠(\)在控制台中给出错误

    我有一个像这样的字符串 C projects cisco iwan staging enc enterprise network controller ui plugins iwan 当我粘贴到console然后按回车键 它给出以下错误 U
  • jQuery Mobile/MVC:使用 RedirectToAction 更改浏览器 URL

    我的第一篇文章 当我使用 RedirectToAction 时 浏览器中的 url 不会改变 我怎样才能实现这个目标 在使用 Web 表单 10 多年后 我将切换到 ASP NET MVC 3 0 也使用 jQuery Mobile 我已经
  • 我收到“无法解析模块`react

    i am getting the below error 开发服务器返回响应错误码 500 URL http 10 0 2 2 8081 index android bundle platform android dev true hot
  • Android NSD 未发现所有服务

    我正在尝试使用 Android 本机服务发现来运行应用程序 但有时当我运行该应用程序时 它不会发现我的网络中的所有服务 我正在运行代码https github com joeluchoa nsd https github com joelu
  • ExitCodeGenerator 和 System.exit(0) 之间的区别

    我最近了解到关闭 Spring Boot 应用程序的正确方法是 public class Application Bean public ExitCodeGenerator exitCodeGenerator return new Exit
  • 什么时候适合使用Lua这样的嵌入式脚本语言

    我玩 魔兽世界 大约有两年了 我对用来编写插件的 Lua 很好奇 由于到目前为止我读到的有关 Lua 的内容都是 快 轻 和 这太棒了 所以我想知道如何以及何时使用它 您需要在系统中嵌入像 Lua 这样的脚本语言的典型情况是什么 当您需要最
  • 将控制器工厂添加到 ASP MVC

    我对工作中的一个大型项目有一个设计想法 我想我已经弄清楚了 但我真的很想得到一些关于a 总体想法和b 我提议的实现的反馈 基本想法很简单 我想创建一个 ASP MVC 应用程序 将来可以使用其他控制器和视图进行扩展 而无需重新编译代码 这个
  • 同时冻结第 1 行和 A 列

    我想在 Excel 2010 中同时 冻结 第 1 行和 A 列 这可能吗 选择单元格 B2 并单击 冻结窗格 这将冻结第 1 行和 A 列 为了便于将来参考 在 Excel 中选择 冻结窗格 将冻结所选单元格上方的行以及所选单元格左侧的列
  • 如何使用分页库在回收器视图中添加日期分隔符?

    经过大量搜索 我知道使用常规适配器是可能的 但我不知道如何使用分页库来做到这一点 我不需要代码 只是一个线索 Example 要添加分隔符 您基本上有两个选择 基于视图 您显式地将分隔符作为 项目 包含在列表中 并为这些分隔符定义新的视图类
  • 在Eclipse中添加注释掉代码的快捷按钮

    只是想知道是否有一种方法可以在 Eclipse 编辑器中添加一个按钮 就像在 Visual Studio 中一样 在 Java 视图 中快速注释或取消注释选定的代码块 Using the keyboard shortcut isn t ea
  • React 中大括号的使用

    我正在尝试学习 React 我在使用花括号时遇到问题 JSX 和 JS 之间使用大括号的区别 在下面的代码中 大括号 1 表示 现在是 JS 为什么有花括号 2 它已经在花括号区域内了吗 var React require react va