首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

React 面试必知必会 Day9

我们需要记住,这些事件只能在支持 Pointer Events 规范的浏览器中工作。 以下事件类型现在在 React DOM 中可用。...为什么组件名称要以大写字母开头? 如果你使用 JSX 渲染你的组件,该组件的名称必须以大写字母开头,否则 React 将抛出一个错误,即未识别的标签。...class SomeComponent extends Component { // 掘金不止,代码不停 } 你可以定义名称以小写字母开头的组件类,但当它被导入时,它应该是大写字母。.../MyComponent'; 关于 React 组件的命名,有哪些例外情况? 组件名称应以大写字母开头,但这一惯例也有少数例外。带点的小写标签名(属性访问器)仍被认为是有效的组件名。...React v16 中支持自定义 DOM 属性吗? 是的,在过去,React 习惯于忽略未知的 DOM 属性。如果你写的 JSX 有一个 React 不认识的属性,React 会直接跳过它。

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    (五)jsx 语法规则

    # 一、什么是 jsx jsx 全称叫做 JavaScript XML 是React 定义的一种类似于 XML 的 js 扩展语法:JS+XML 本质是 React.createElment(标签名,...> ) // 渲染虚拟 DOM 到页面 ReactDOM.render(VDOM, document.getElmentById('test')) 数据写活,读取变量 需要使用 {} 形式, toLowerCase...定义虚拟 DOM 时,不要写引号 标签中混入 JS 表达式时要使用 {} 样式的类目指定,不能使用 class 需要使用 className 内联样式,要用 style="{{key: value,...key1: value}}", 如果是像 font-size 这里的属性 需要使用小驼峰的形式 fongSize 虚拟 DOM 只能有一个根标签,学过 VUE 的同学都知道,VUE 只能有一个根标签,和这里是一样的...标签必须闭合 标签首字母 若小写字母开头,则将标签转换为 html 同名元素,如果没有找到同名的 html 标签,则报错 若大写字母开头,则 React 就去渲染组件,如果没有找到,就报错

    38230

    组件&Props

    name="Sara" />; 当REACT元素为用户自定义组件时,它会将JSX所接收的属性转换为单个对象传递给组件,这个对象被称之为PROPS。...4、React DOM 将DOM高效地更新为Hello,Sara。 注意: 组件名称必须以大写字母开头。 React 会将以小写字母开头的组件视为原生 DOM 标签。...例如, 代表 HTML 的 div 标签,而 则代表一个组件,并且需在作用域内使用 Welcome。 你可以在深入 JSX中了解更多关于此规范的原因。...但是,如果你将REACT集成到现有的应用程序中,你肯能需要使用像Button这样的小组件,并自下而上地将这类组件逐步应用到视图层的每一处。 提取组件 将组件拆分为更小的组件。...我们建议从组件自身的角度命名props,而不是依赖于调用组件的上下文命名。

    66010

    React 从入门到入土(一)-- 基础知识以及 jsx语法

    它提高了应用的性能 可以方便在客户端和服务器端使用 由于使用 JSX,代码的可读性更好 使用React,编写 UI 测试用例变得非常容易 2....Hello React 首先需要引入几个 react 包,我直接用的是老师下载好的 React 核心库、操作 DOM 的 react 扩展库、将 jsx 转为 js 的 babel 库 const VDOM...test')) js 的写法并不是常用的,常用jsx来写,毕竟JSX更符合书写的习惯 二、jsx 语法 定义虚拟DOM,不能使用“” 标签中混入JS表达式的时候使用{} id = {myId.toUpperCase...内敛样式要使用{{}}包裹 style={{color:'skyblue',fontSize:'24px'}} 5. 不能有多个根标签,只能有一个根标签 6....如果小写字母开头,就将标签转化为 html 同名元素,如果 html 中无该标签对应的元素,就报错;如果是大写字母开头,react 就去渲染对应的组件,如果没有就报错 记几个 1.

    34730

    创建公司内部使用的eslint-config-package

    在这里我们还看到另外也加载了一个名为 plugin:react/recommend 的 ESLint 配置文件,之所以前面是以 plugin:react 开头,是因为这只配置文件实际上是放在 eslint-plugin-react...'react/jsx-uses-react': 'off', 'react/react-in-jsx-scope': 'off', // customized rules 'no-console...项目使用的,在这支 react.eslint.config.js 中,会先去 extends base 的设置,把刚刚写的配置文件加载后,再加上针对 React 项目要使用的规则:// react.eslint.config.jsmodule.exports.../base.eslint.config', // 使用针对 react 想要使用的设置 'plugin:react/recommended', 'plugin:react-hooks/...recommended', ], rules: { // new JSX transform 'react/jsx-uses-react': 'off', 'react/react-in-jsx-scope

    7300

    React基础(3)-不可不知的JSX

    { constructor(props) { super(props); this.todos = ['起床', '刷牙', '洗脸', '工作'];...理解的对象,它可以用于拓展JSX 自定义的组件必须是大写字母开头 通常来说,如果在React中小写字母开头的html标签,称为普通元素,它是原生HTML内置的元素(也可以视为为组件),例如:`...```会被React转化生成相应的字符串'div','span'传递给React.createElement作为参数 大写字母开头的元素,我们将它视为自定义的组件,例如,其实它最终也会被React.createElement函数作为转化 使用大写字母开头命名自定义组件,这是一种约定俗成的规定,本质上它就是一构造函数,是为了区别普通函数的 JSX标签的第一部分指定了...React元素的类型 凡是大写字母开头的JSX标签元素,就意味着它们是React组件 如果你定义的一个组件首字母是小写,react就会当做一个普通元素来处理,而原生HTML标签并没有把你自定义的元素归纳进去

    1.8K10

    11 个需要避免的 React 错误用法

    本文我将结合自己实际工作经验,总结 11 个 React 开发中常见的一些错误,帮助您避免一些错误的发生。...后直接使用 state 使用 useState + useEffect 时出现无限循环 忘记在 useEffect 中清理副作用 错误的使用布尔运算符 没有定义组件参数类型 把字符串当做数值传递到组件 没有以大写字母开头的组件名称...解决方法 你只需要按照提示,为每一项添加 key属性即可: const numbers = [1, 2, 3, 4, 5]; const listItems = numbers.map((number,...没有以大写字母开头的组件名称 问题描述 对于新手而言,忘记使用大写字母开头作为组件名的问题很常见。...在 JSX/TSX 中以小写字母开头的组件会被编译成 HTML 元素,比如 表示 HTML 标签。

    2.1K30

    【React】1413- 11 个需要避免的 React 错误用法

    本文我将结合自己实际工作经验,总结 11 个 React 开发中常见的一些错误,帮助您避免一些错误的发生。...后直接使用 state 使用 useState + useEffect 时出现无限循环 忘记在 useEffect 中清理副作用 错误的使用布尔运算符 没有定义组件参数类型 把字符串当做数值传递到组件 没有以大写字母开头的组件名称...解决方法 你只需要按照提示,为每一项添加 key属性即可: const numbers = [1, 2, 3, 4, 5]; const listItems = numbers.map((number,...没有以大写字母开头的组件名称 问题描述 对于新手而言,忘记使用大写字母开头作为组件名的问题很常见。...在 JSX/TSX 中以小写字母开头的组件会被编译成 HTML 元素,比如 表示 HTML 标签。

    1.6K20

    React学习(三)-不可不知的JSX

    { constructor(props) { super(props); this.todos = ['起床', '刷牙', '洗脸', '工作']...,它可以用于拓展JSX 自定义的组件必须是大写字母开头 通常来说,如果在React中小写字母开头的html标签,称为普通元素,它是原生HTML内置的元素(也可以视为为组件),例如: 会被React转化生成相应的字符串 'div', 'span'传递给 React.createElement作为参数 大写字母开头的元素,我们将它视为自定义的组件,例如 ...,其实它最终也会被React.createElement函数作为转化 使用大写字母开头命名自定义组件,这是一种约定俗成的规定,本质上它就是一构造函数,是为了区别普通函数的,模拟类的功能,但Es6提供了类的语法...,以后更多的使用的还是Es6的class JSX标签的第一部分指定了React元素的类型 凡是大写字母开头的JSX标签元素,就意味着它们是React组件 如果你定义的一个组件首字母是小写,React就会当做一个普通元素来处理

    1.3K30

    React 16 - 基础

    ( 'h1', null, 'Hello, ', name ); 在 JSX 中使用表达式 JSX 本身也是表达式 const element = Hello, world</h1...优点 直观:声明式创建界面 灵活:代码动态创建界面 无需学习新的模板语言 JSX 约定 自定义组件以大写字母开头 React 认为小写的 tag 是原生的 DOM 节点,如 div JSX 标记可以直接使用属性语法...当 state 需要从 props 初始化时使用 尽量不要使用:维护两者状态一致性会增加复杂度 每次 render 都会调用 典型场景:表单组件获取默认值 componentDidMount UI...工作原理 广度优先分层比较 根节点开始比较 属性变化及顺序 节点类型发生变化 节点跨层移动 Virtual DOM 的两个假设 组件的 DOM 结构时相对稳定的 类型相同的兄弟节点可以被唯一标识...App create-react-app (opens new window) 打包部署 为什么需要打包 编译 ES6 语法,编译 JSX 整合资源,如 图片, Less, Sass, 等 压缩代码

    41530

    react组件用法深度分析

    浏览器不识别 JSX。我们在浏览器中运行 JSX,会报错:图片所以,在项目中运用 JSX,我们需要使用像 Babel 或 TypeScript 这样的转换器。...因此,JSX 允许我们类 HTML 的语法来表示 React 树,浏览器和 React 均不需要识别它,只有编译器才有。我们发送给浏览器的是无 JSX 代码。2....命名必须以大写字母开头请注意我们在上面例子中将组件命名为 Button。...第一个字母是大写字母,这是一个规定,因为我们在处理混合的 HTML 元素和 React 元素时,JSX 编译器(如 Babel )会将所有以小写字母开头的名称视为 HTML 元素。...如果 React 组件不依赖于其定义之外的任何内容,我们也可以将该组件标记为纯组件。纯组件在没有任何问题的情况下更有可能被重用。我们可以将 HTML 元素视为浏览器中的内置组件。

    5.5K20
    领券