reactjs

ReactJS入门

首先是乌米js
官网:https://umijs.org/zh/
想深入了解的同学,看官网吧:可插拔的企业级react应用框架
首先安装nodejs
接下来,开始安装yarn,其中tyarn使用的是npm.taobao.org的源,速度要快一些
可以把yarn看做了优化了的npm

npm i yarn tyarn -g

下面开始安装umi

tyarn global add umi

入门

创建项目
在这里插入图片描述
通过初始化命令将生成package.json文件,它是 NodeJS 约定的用来存放项目的信息和配置等信息的文件。初始化完成

tyarn init -y

在这里插入图片描述
在命令输入如下命令:项目中添加umi的依赖

tyarn add umi --dev

在这里插入图片描述
依赖已经导进来了

编写hello world程序

在UmiJS的约定中,config/config.js将作为UmiJS的全局配置文件。
config.js文件中输入

export default{};

在这里插入图片描述
Hello Word.js中内容

export default () => {
    return <div>hello world</div>;
}

启动

umi dev

在这里插入图片描述
访问
在这里插入图片描述
js中嵌套html代码有点东西啊。这是react特有的另起了一个名JSX。

添加umi-plugin-react插件

umi-plugin-react插件是umi官方基于react封装的插件,包含了13个常用的进阶功能。
添加插件

tyarn add umi-plugin-react --dev

在这里插入图片描述
在config.js中加入代码

export default{
    plugins: [
        ['umi-plugin-react', {

        }]
    ]
};
构建和部署

现在我们写的js,必须通过umi先转码后才能正常的执行,那么我们最终要发布的项目是普通的html、js、css。可以通过命令

umi build

开始步入正题

使用要JSX注意的语法

1 所有的html标签必须是闭合的
2 在JSX语法中,只能有一个根标签,不能有多个

组件

组件是React中最重要也是最核心的概念,一个网页,可以被拆分成一个个的组件,像这样:
在这里插入图片描述
瞎画的,学前端的都知道组件,我只是形象下,如果觉得不得劲我可以删掉。
在React中,这样定义一个组件:

import React from 'react'; //第一步,导入React
class HelloWorld extends React.Component { //第二步,编写类并且继承 React.Component
    render(){ //第三步,重写render()方法,用于渲染页面
        return <div>hello world</div> //JSX语法
    }
}
export default HelloWorld; //第四步,导出该类

在这里插入图片描述

状态

每一个组件都有一个状态,其保存在this.state中,当状态值发生变化时,React框架会自动调用render()方法,重新渲染页面。
其中,要注意两点:
一: this.state值的设置要在构造参数中完成;
二:要修改this.state的值,需要调用this.setState()完成,不能直接对this.state进行修改;
下面通过一个案例进行演示,这个案例将实现:通过点击按钮,不断的更新this.state,从而反应到页面中。

import React from 'react'
class List extends React.Component{
    constructor(props){
        // 构造参数中必须要props参数
        super(props); // 调用父类的构造方法
        this.state = {
            // 初始化
            this.state dataList : [1,2,3],
            maxNum : 3 };
    }
    render(){
        return (
            <div>
                <ul>{
                    // 遍历值
                    this.state.dataList.map((value,index) => {
                        return <li key={index}>{value}</li>
                    })
            }
            </ul>
            <button
                onClick={()=>{
                    //为按钮添加点击事件
                    let maxNum = this.state.maxNum + 1;
                    let list = [...this.state.dataList, maxNum];
                    this.setState({
                        //更新状态值
                        dataList : list, maxNum : maxNum
                    });
                }}>
        添加
        </button>
        </div>
    );
    }
}
export default List;

最后就是想启动服务呢结果遇见了这个错误
在这里插入图片描述
最后仙人指路:去github上找Ant Design Pro,下载压缩包然后在输入下面命令这样玩吧

tyarn install #安装相关依赖
tyarn start #启动服务

气死我了,没解决,真难受。我变了遇见错误都不想解决了,这是不让我学前端啊,真级麻烦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值