在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
序言
设置淘宝镜像npm config get cache npm config get prefix npm config get registry npm config set registry https://registry.npmjs.org npm config set registry https://registry.npm.taobao.org npm如果没有create-react-app命令行脚手架,可以先下载个 npm install -g create-react-app 然后我们使用其创建一个typescript项目 create-react-app my-app --tempalte typescript 进后项目,启动 npm start yarn注意:建议不要放在node的文件夹里,将其放在另一个文件夹,否则会影响node安装的全局命令使用。 yarn config set global-folder "D:\Web\Node\yarn\global" yarn config set cache-folder "D:\Web\Node\yarn\cache" 创建项目 yarn create react-app react-typescript-app --typescript yarn yarn start 集成 less https://www.cnblogs.com/lyzw-Y/p/11566631.html webpack yarn add webpack ant design yarn add antd Redux yarn add redux yarn add react-redux yarn add redux-thunk yarn add redux-saga yarn add redux-logger yarn add react-router-dom DvaJS
Umi 全局安装umi,版本是2.0.0或以上 yarn global add umi yarn create umi umi block list https://pro.ant.design/docs/block
创建页面 umi g page index umi g page users 启动本地服务器 umi dev 概念useState import React, { useState } from 'react' import './App.css' export default function App() { const [count, setCount] = useState(0); const [name, setName] = useState('Star'); // 调用三次setCount便于查看更新队列的情况 const countPlusThree = () => { setCount(count+1); setCount(count+2); setCount(count+3); } return ( <div className='App'> <p>{name} Has Clicked <strong>{count}</strong> Times</p> <button onClick={countPlusThree}>Click *3</button> </div> ) } 复制代码
useEffect React Hooks+Umi+TypeScript+Dva开发体验 组件 & Props 组件,从概念上类似于 JavaScript 函数。它接受任意的入参(即 “props”),并返回用于描述页面展示内容的 React 元素。 函数组件与 class 组件 定义组件最简单的方式就是编写 JavaScript 函数: function Welcome(props) { return <h1>Hello, {props.name}</h1>; } export default RoomItem; 该函数是一个有效的 React 组件,因为它接收唯一带有数据的 “props”(代表属性)对象与并返回一个 React 元素。这类组件被称为“函数组件”,因为它本质上就是 JavaScript 函数。 你同时还可以使用 ES6 的 class 来定义组件: class Welcome extends React.Component { render() { return <h1>Hello, {this.props.name}</h1>; } } 上述两个组件在 React 里是等效的。 展开运算符{...props} 解决属性过多,一个个书写麻烦的问题。 React.FC
React.FC<>的在typescript使用的一个泛型,在这个泛型里面可以使用useState,个人觉得useState挺好用的,例子如下:
const SampleModel: React.FC<{}> = () =>{ //React.FC<>为typescript使用的泛型 const [createModalVisible, handleModalVisible] = useState<boolean>(false); return{ {/** 触发模态框**/} <Button style={{fontSize:'25px'}} onClick={()=>handleModalVisible(true)} >样例</Button> {/** 模态框组件**/} <Model onCancel={() => handleModalVisible(false)} ModalVisible={createModalVisible} /> } React.Fragment 组件 class Columns extends React.Component { render() { return ( <React.Fragment> <td>Hello</td> <td>World</td> </React.Fragment> ); } } 生成器函数 yield关键字:暂停 组件类引入了复杂的编程模式,比如 render props 和高阶组件。 React 团队希望,组件不要变成复杂的容器,最好只是数据流的管道。开发者根据需要,组合管道即可。 组件的最佳写法应该是函数,而不是类。 function Welcome(props) { return <h1>Hello, {props.name}</h1>; } 但是,这种写法有重大限制,必须是纯函数,不能包含状态,也不支持生命周期方法,因此无法取代类。 React Hooks 的设计目的,就是加强版函数组件,完全不使用"类",就能写出一个全功能的组件。
资料Redux |
请发表评论