• React基础学习


    create-react-app 项目名称(不要使用中文 必须先npm安装这个工具)

    • create-react-app 创建项目

    • npn start运行起来一个项目

    • npx 是不是一定要写?不是,npx 是可选的。

    JSX

    概念

    JSX -> 是一种JavaScript的语法扩展,拓展了 XML 写法。

    JS -> JavaScript

    X -> XML 标记语法

    一句话总结JSX就是:直接在 JS 编写标签。

    在 Vue 中有模板语法 v-for v-if ,React 中没有。

    React 中如何实现 HTML 的结构编写,直接写就可以了,因为 React 允许直接在 JS 文件中写 HTML 代码。

    const tag = <div>标签</div>;    在 React 中是合法的
    

    字符串标签和JSX标签

    // 类似 JS 中摸板字符串写法
    const htmlStr = `<div>字符串</div>`;
    
    // 在 React 中,标签就是一个特殊封装过的对象。
    const tagObject = <div>标签对象</div>;
    
    console.log(htmlStr, typeof htmlStr);
    console.log(tagObject, typeof tagObject);
    

    dangerouslySetInnerHTML的简单使用 属性用于渲染 html 字符串

    <div dangerouslySetInnerHTML={{__html: textString}}></div>
    

    其他补充

    • 多个属性可以直接用对象表示,再 标签中 用 ... 解构绑定。

    • 自定义标签属性,需要写成 { 'data-xxx': 值 }

    • npx 概念

    npx 是 npm 的 package 执行工具,是 npm 5.2 版本以上附带的。

    传统:npm 创建 React 项目

    1. 安装 React 脚手架工具。npm install -g create-react-app
    2. 使用脚手架工具创建 React 项目。 create-react-app 项目名称

    新写法:npx 创建 React 项目

    npx 可直接创建 React 项目,npx 命令直接省略了安装脚手架工具的过程。

    yarn概念

    相同点:yarn 和 npm 一样 都是 node 的 包管理器。

    1. npm 就像是 电脑上的 软件管家 => 360软件管家
    2. yarn 就像是 电脑上的 软件管家 => 腾讯软件管家

    不同点:yarn 和 npm 的包下载地址不一样,使用的命令也区别。

    为什么需要深拷贝。

    1. shouldComponentUpdate 生命周期函数内部需要比较新旧两个 list 数据
    2. 如果只是简单的解构赋值操作, 只是引用了 state.list 的内存地址。
    3. 内存地址相同,数据就比较不出来新旧,所以需要深拷贝生成新的对象内存地址。
    4. 这部分有点绕,可结合老师画的内存图去理解。
    • Web项目:JS 中的数据的操作其实不占什么内存。
    • DOM 操作 - DOM元素的增删改查。
    • 所以列表渲染一定要设置合适的 key 值。

    局部样式注意事项

    1. 不要在局部样式中,直接使用标签选择器,标签选择器不会处理,统一使用类名。
    2. 如果是组合词,建议用下划线链接如 header_body 或者用驼峰命名 headerBody 写法。
  • 相关阅读:
    anroid scaleType属性对应的效果
    Cannot make a static reference to the non-static method的解决方案
    Java indexOf()的两个用法
    Android关于notification的在不同API下的用法说明
    Android notification的使用介绍
    第九章 虚拟内存管理
    第八章 内存管理
    第四章 线程
    第二章 操作系统结构
    第一章 计算机系统概述
  • 原文地址:https://www.cnblogs.com/MarkLewis/p/13518822.html
Copyright © 2020-2023  润新知