React学习(2)-react基础渲染

102 阅读2分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

OK,之前我们安装好了react的环境和项目,那么接下来我们就要开始react代码的学习了

这一章我们先学一下react的几个知识点

首先我们先来看看react是如何渲染的。 最简单的,我们先来个 Hello World

import ReactDOM from 'react-dom';

ReactDOM.render(
    <h1>Hello World</h1>,
    document.getElementById('root')
);

ReactDOM.render 是将react组件挂载到根节点上,他有两个参数,第一个是dom节点/组件, 第二个参数是根节点。 此时页面上已经显示出了react经典页面 页面图片待上传

JSX语法

什么是jsx?

引用官方文档 jsx

我自己的理解: jsx就是将html当做值一样,可以赋值给变量,可以作为函数的返回值等

// 使用函数返回
function d1(){
    return <div>hello world</div>
}

// 可以使用判断
function d2(v){
    if(v) {
        return <h1>你好</h1>
    }
    return <div>谢谢</div>
}
// 变量
const DOM = <div>hello world</div>

jsx动态传值: jsx采用的是大括号语法{}来使用动态变量

// 展示值
function fn(v) {
    return <div>{v}</div>
}

// 可以使用表达式
function fn(state) {
    return <div>{state ? '通过' : '驳回'}</div>
}

栗子

const obj = {
    name: '张三'
}
function User() {
    return <div>{obj.name}</div>
}
ReactDOM.render(
    <User />,
    document.getElementById('root')
);

jsx中的属性

const dom = <div style={样式}></div>

以上大概就是jsx的一些用法,这些都明白了,在react中大致就够用了,也可以再去官方文档捋一遍

官方文档 jsx

下一个就是元素渲染了

元素渲染将dom渲染到页面上,他是一个最小单元

const dom = <div>hello</div>

这个dom就是一个最小单元,内部只有最基本的dom元素,不存在任何嵌套

将一个元素渲染为dom

ReactDOM.render(
    <h1>Hello World</h1>,
    document.getElementById('root')
);

react只有一个单一的根节点,使用ReactDOM.render()就可以将元素渲染到页面上

更新一渲染元素

react的元素是不可变的对象,若想要更新就只能创建一个新的元素来替换旧的元素,重新使用ReactDOM.render()进行渲染
借用官网上的例子

function tick() {
  const element = (
    <div>
      <h1>Hello, world!</h1>
      <h2>It is {new Date().toLocaleTimeString()}.</h2>
    </div>
  );
  ReactDOM.render(element, document.getElementById('root'));}

setInterval(tick, 1000);