创建第一个React项目

React脚手架

python 复制代码
npx create-react-app react-demo

npx是直接从互联网网上拉最新的脚手架进行创建react

运行React项目

python 复制代码
npm start

若想找到Webpack配置文件

python 复制代码
npm eject

React的基本使用

基本步骤

python 复制代码
导入react和react-dom vue
创建react元素
渲染react元素到页面中

导入

python 复制代码
import React from "react";
import ReactDom from "react-dom"

声明

python 复制代码
const title = React.createElement('h1',null,'hello react')
const element2 = React.createElement('div',{
    id:'demo',
    title:'哈哈'
},
    '我是一段DIV内容'
)

渲染

python 复制代码
const element = ReactDom.render(title,document.getElementById('root'))

渲染复杂结构

python 复制代码
<ul>
	<li>香蕉</li>
	<li>橘子</li>
	<li>苹果</li>
</ul>
python 复制代码
import React from "react";
import ReactDom from "react-dom"

//创建react元素
const react_ul = React.createElement('ul',{className:'list'},
    [
        React.createElement('li',null,'香蕉'),
        React.createElement('li',null,'橘子'),
        React.createElement('li',null,'苹果'),
    ]
    )

// 渲染
ReactDom.render(react_ul,document.getElementById('root'))

在渲染过程中父元素第三个参数代表内容,可以为一个数组,数组里面可以放更多的值进行渲染操作

React18

使用React18创建React的时候,导入ReactDOM进行变更,并且创建发生变化,具体代码如下:

python 复制代码
import React, {Component} from "react";
import ReactDOM from "react-dom/client";

class App extends Component {
    render() {
        return (
            <div>
                <h1>hello world</h1>
            </div>
        );
    }
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);

如果不解决这个问题他会一直产生一个警告,说明他目前使用的是React17

相关推荐
Bl_a_ck1 分钟前
【JS进阶】ES6 实现继承的方式
开发语言·前端·javascript
小马虎本人2 分钟前
如果接口返回的数据特别慢?要怎么办?难道就要在当前页面一直等吗
前端·react.js·aigc
蓝胖子的多啦A梦5 分钟前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚
前端·npm·node.js
LinCC78 分钟前
在Vite中构建项目出错-Top-level await is not available in the configured target environme
前端
用户882093216679 分钟前
如何优雅拆分一个充斥十几种逻辑的 SDK 回调函数?
前端
Momoly0810 分钟前
vue3+el-table 利用插槽自定义数据样式
前端·javascript·vue.js
多啦C梦a10 分钟前
从 React 初体验到数据驱动的界面开发:一步步解析 Todo List 组件
javascript·react.js
唯有选择10 分钟前
让你的应用界面好看的基石:Flutter主题Theme使用和扩展自定义字段
前端·flutter
山有木兮木有枝_11 分钟前
告别布局间隙:浮动(float)在网页排版中的高阶应用
前端
满分观察网友z12 分钟前
vue的<router-link>的to里面的query和params的区别
前端