入门React(尝试一下jsx和组件化)

简介: > 开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 23 天,点击查看活动详情今天继续学习React,这是一篇面向初学者的React文章,大佬可以划走了。# 引言历史上,React源于facebook,他对于超大型的项目的编写上,适应非常好。而且具有着非常非常强大的生态环境。React的设计思路就是响应式编程。这样有以下几个优势。- 状态更新,UI会自动更新- 代码组件化,可复用性更强,可以封装,更方便。- 状态之间的依赖关系,只需要声明即可。# 初始化项目我们可以使用`create-react-app`的方式快速创建一个Rea
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 23 天,点击查看活动详情

今天继续学习React,这是一篇面向初学者的React文章,大佬可以划走了。

引言

历史上,React源于facebook,他对于超大型的项目的编写上,适应非常好。而且具有着非常非常强大的生态环境。React的设计思路就是响应式编程。

这样有以下几个优势。

  • 状态更新,UI会自动更新
  • 代码组件化,可复用性更强,可以封装,更方便。
  • 状态之间的依赖关系,只需要声明即可。

初始化项目

我们可以使用create-react-app的方式快速创建一个React项目,首先我们要安装一个create-react-app的脚手架。

npm install -g create-react-app // 安装 create-react-app 脚手架

接下来我们就可以使用create-react-app脚手架来完成快速初始化我们的React项目了。

create-react-app my-app // 创建项目

我们等待一段时间后,React项目就创建好了,我们切换到React项目所在的跟目录,然后使用npm start命令来启动项目,等待一段时间后,我们就可以看到如下效果了。

image.png

目录

我们的目录结构大致如下:

image.png

我们来解析一下目录,package.jsonpackage-lock.json文件无需多言了,src目录下我们一般可以放一些开发时的代码,而node_modules是我们用到的依赖,而public目录下有如下事物:

image.png

分别是涉及的资源和我们要用的html文件,值得一提的是:React也是一种SPA的开发模式。

写一个demo

我们创建一个`Table.js·文件,内容如下:

import React , { Component } from "react";

class Table extends Component {
    render() {
        return (
            <table>
                <thead>
                    <tr>
                        <th>
                            Name
                        </th>
                        <th>
                            Job
                        </th>
                    </tr>
                </thead>
                <tbody>
                <tr>
                    <td>张三</td>
                    <td>xxx</td>
                </tr>
                <tr>
                    <td>李四</td>
                    <td>yyy</td>
                </tr>
                <tr>
                    <td>王五</td>
                    <td>zzz</td>
                </tr>
                </tbody>
            </table>
        )
    }
}

export default Table;

我们定义了一个Table类,然后导出,接下来我们在index.js中使用这个组件

import React , { Component } from "react";
import  ReactDOM  from "react-dom";
import Table from "./Table";
import './index.css';

const element = <div>Hello, world!</div>;

class App extends Component {
  render() {
    return (
      <div className="App">
        <h1>Hello React { element }</h1>
        <Table/>
      </div>
    )
  }
}

ReactDOM.render(<App/> , document.getElementById('root'));

我们将他引入,并尝试了一下jsx的语法:const element = <div>Hello, world!</div>;

最后将他挂载到Html中的root下。

保存,热更新之后:

image.png

相关文章
|
4月前
|
前端开发 JavaScript
学习react基础(3)_setState、state、jsx、使用ref的几种形式
本文探讨了React中this.setState和this.state的区别,以及React的核心概念,包括核心库的使用、JSX语法、类与函数组件的区别、事件处理和ref的使用。
97 3
学习react基础(3)_setState、state、jsx、使用ref的几种形式
|
2月前
|
JavaScript 前端开发 容器
React零基础入门02--JSX语法基础
React零基础入门02--JSX语法基础
React零基础入门02--JSX语法基础
|
2月前
|
前端开发 JavaScript 定位技术
React 地图组件 Mapbox 入门指南
Mapbox 是一个强大的地图平台,提供丰富的地图数据和工具,支持多种开发语言和框架。本文介绍如何在 React 项目中使用 Mapbox,涵盖基础概念、安装配置、基本用法、常见问题及解决方法、高级用法等内容,并通过代码示例详细说明,帮助开发者提升地图应用的开发效率和用户体验。
145 2
|
2月前
|
前端开发 API UED
React 图片轮播 Carousel:从入门到进阶
本文介绍了在 React 中实现图片轮播(Carousel)的方法,从基础安装和配置 `react-slick` 开始,逐步讲解了常见问题如图片路径、性能优化、自定义样式和交互处理,以及高级话题如动态数据加载和响应式设计。通过详细示例,帮助开发者避免易错点,提升轮播图的用户体验。
64 3
|
2月前
|
XML 前端开发 JavaScript
react之了解jsx
react之了解jsx
|
2月前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
125 10
|
3月前
|
XML 前端开发 JavaScript
React JSX
React 使用 JSX(一种类似 XML 的 JavaScript 语法扩展)来替代传统 JavaScript 编写 UI。JSX 使代码更简洁、执行更快且类型安全。例如,`&lt;h1&gt;Hello, world!&lt;/h1&gt;` 实际上是创建一个 React 元素,通过 `ReactDOM.render()` 渲染到 DOM。注意,JSX 中使用 `className` 替代 HTML 的 `class` 属性。
|
2月前
|
存储 前端开发 JavaScript
react之jsx编译原理
react之jsx编译原理
|
3月前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
3月前
|
XML 前端开发 JavaScript
React JSX
10月更文挑战第7天
20 2