react 基础¶
怎么启动一个React项目¶
外网使用 create-react-app 工具快速创建react项目.
前提
安装nodejs ( https://nodejs.org/zh-cn/ ),
创建react项目
# npm更换为taobao源, 因为资本主义网络太慢 npm config set registry https://registry.npm.taobao.org # 安装 create-react-app 脚手架 npm install -g create-react-app # 使用 create-react-app 快速创建一个 react+typescript 项目 npx create-react-app my-app --typescript # 进入项目,启动 cd my-app; npm start
如果是内网, 下载 antd_template. 直接修改 src/pages/Home/index.tsx
上面的做完后,打开浏览器访问 http://localhost:3000
浏览器中按 F12 调试。
一些概念¶
控件的组合–组件¶
react有一个组件的概念。可以将一大堆 html标签 封装为一个组件,从而做到复用。
组件有两种。
第一种比较简单,直接是一个函数:
function MyComponent() { return <div> <input /> <input type="button"/> </div> }
第二种是一个类,需要实现render方法, 继承 React.Component
。
class MyComponent extends React.Component { function render() { return <div> <input /> <input type="button"/> </div> } }
入口¶
一般来说,一个React页面的初始状态是一个空页面。首先将一个顶层组件塞到html中, 这个顶层组件又调用了很多其他子组件。合在一起看就是嵌套的 xml 。
事件¶
每一个html元素都可以监听事件,比如鼠标点击事件、键盘事件等。比较常用的就是 onClick。 可以注册一个函数到事件上,事件一旦触发,就会执行那个函数
function say_click(){ console.log("do click") } function MyComponent() { return <div onClick={say_click}> <input /> <input type="button"/> </div> }
state¶
React.Component
内部维护了一个 state 状态,是一个字典。使用 this.setState
修改state中的值。
修改后,会自动更新UI界面。 state 可以通过 this.state
读取
props¶
React.Component
可以接受一组参数。这组参数只读,无法修改。
通过 this.props
访问,是一个字典。
完整教程¶
了解上述概念后,按照下面的教程做一遍就知道了。
中文版教程: https://react.docschina.org/tutorial/tutorial.html
装逼版教程: https://reactjs.org/tutorial/tutorial.html
没有比这讲的更详细的。
React 最重要的概念:虚拟dom。有兴趣了解下,不了解也能用。