React学习(记录贴)

React 基础

随着越来越多的公司使用React, 这项技术也成为了每个前端人绕不过去的门槛,记录一下我的学历历程。从零开始好好学。

安装React

安装React 肯定要安装node和Npm了,这里就不多做赘述了; 安装React也有各种各样的继承框架,我使用是的create-react-app来一件安装; 全局安装create-react-app

go 复制代码
   `npm install -g create-react-app`
   

检查是否安装成功

lua 复制代码
    create-react-app --version
    // 创建成功会返回版本号

使用create-react-app创建项目

lua 复制代码
    create-react-app hackrnews

现在你可以在你的编辑器里面打开这个项目。类似下面的文件结构(或者是略有不同,根据你的 create-react-app 的版本的不同)会呈现在你面前:

java 复制代码
hackrnews
    node_modules/
    public/
    src/
    .gitignore
    package.json
    README.md
    package-lock.json

简单说一下文件夹结构:

  • node_modules: 存放依赖包;
  • public: 这个文件夹包含了所有你的项目构建出的产品文件。最终所有你写在 src/ 文件夹里面的代码都会在项目构建的时候被打包放在 public 文件夹下。;
  • src: 存放源代码,比如js、css、html等; 我们开发的代码一般都放在这个文件夹里面;
  • .gitignore: 忽略文件,比如node_modules、.DS_Store等;
  • package.json: 项目依赖包版本信息,以及项目信息;
  • README.md: 项目说明文档;

下面说一下几个常用的命令:

  • npm start: 启动项目,并打开浏览器;
  • npm run build: 构建项目,生成生产环境代码;
  • npm test: 运行测试。

在创建项目的时候 包也就是 node_modules 已经加载完毕了,如果需要自己安装包就运行如下命令

arduino 复制代码
     npm install
     // 此命令会把package.json里面所有的依赖包安装到node_modules里面     

JSX简介

  • JSX 是 JavaScript 的扩展语法,React 使用 JSX 来描述用户界面。JSX 语法 looks 很像 HTML,但是它实际上是 JavaScript 的语法扩展。

  • JSX 允许你使用 JavaScript 的语法写 HTML。

  • JSX 允许你使用 JavaScript 的变量。

  • JSX 允许你使用 JavaScript 的表达式。

  • JSX 允许你使用 JavaScript 的条件语句。

  • React并不强制要求使用JSX,但是使用JSX会方便读写。比使用ReactDom.createElemen()创建元素更简单、也更易读。

js 复制代码
    import logo from './logo.svg';
    import './App.css';
    import React, { Component } from 'react';
    class App extends Component {
    render() {
        return (
            <div className="App">
                <header className="App-header">
                <img src={logo} className="App-logo" alt="logo" />
                <h1 className="App-title">Welcome to React</h1>
                </header>
                <p className="App-intro">
                To get started, edit <code>src/App.js</code> and save to reload.
                </p>
            </div>
            );
        }
    }
    export default App;

这段代码是class组件,继承自Component。当然后面还会有hooks组件也就是函数式组件。 就像我们写HTML一样,只不过要使用render()方法来渲染组件。这样React就会用JavaScript方式来创建HTML元素。

相关推荐
2501_9209317037 分钟前
React Native鸿蒙跨平台采用ScrollView的horizontal属性实现横向滚动实现特色游戏轮播和分类导航
javascript·react native·react.js·游戏·ecmascript·harmonyos
摘星编程2 小时前
React Native鸿蒙版:Drawer抽屉导航实现
react native·react.js·harmonyos
2501_920931704 小时前
React Native鸿蒙跨平台实现推箱子游戏,完成玩家移动与箱子推动,当所有箱子都被推到目标位置时,玩家获胜
javascript·react native·react.js·游戏·ecmascript·harmonyos
摘星编程6 小时前
React Native + OpenHarmony:UniversalLink通用链接
javascript·react native·react.js
qq_177767376 小时前
React Native鸿蒙跨平台数据使用监控应用技术,通过setInterval每5秒更新一次数据使用情况和套餐使用情况,模拟了真实应用中的数据监控场景
开发语言·前端·javascript·react native·react.js·ecmascript·harmonyos
烬头88216 小时前
React Native鸿蒙跨平台应用实现了onCategoryPress等核心函数,用于处理用户交互和状态更新,通过计算已支出和剩余预算
前端·javascript·react native·react.js·ecmascript·交互·harmonyos
2601_949593659 小时前
基础入门 React Native 鸿蒙跨平台开发:卡片组件
react native·react.js·harmonyos
qq_1777673710 小时前
React Native鸿蒙跨平台剧集管理应用实现,包含主应用组件、剧集列表、分类筛选、搜索排序等功能模块
javascript·react native·react.js·交互·harmonyos
qq_1777673710 小时前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
烬头882110 小时前
React Native鸿蒙跨平台采用了函数式组件的形式,通过 props 接收分类数据,使用 TouchableOpacity实现了点击交互效果
javascript·react native·react.js·ecmascript·交互·harmonyos