react

React-1-简介、安装和使用

你。 提交于 2020-01-27 21:05:32
一、安装 1.首先安装node.js node.js是傻瓜式安装,会自动配置环境变量。 npm install webpack -g全局安装webpack 2.安装官方脚手架create-react-app npm install -g create-react-app 3.创建项目 create-react-app xxx 二、基本使用 1.删除src目录下的所有文件 2.在src目录下创建两个文件 App.js: import React, { Component } from 'react' export default class App extends Component { render() { return ( <div>你好</div> ) } } index.js: import React from 'react' import ReactDOM from 'react-dom' import App from './App' ReactDOM.render(<App></App>, document.getElementById('root')) 来源: https://www.cnblogs.com/yinwenjie/p/12236743.html

React学习路线

╄→гoц情女王★ 提交于 2020-01-27 14:14:39
React学习路线 1、什么是React? React 是一个用于构建用户界面的 JAVASCRIPT 库。 React 主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。 React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。 React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。 2、React 特点: 1.声明式设计 −React采用声明范式,可以轻松描述应用。 2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。 3.灵活 −React可以与已知的库或框架很好地配合。 4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。 5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。 6.单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。 3、React 组件: 我们可以使用函数定义了一个组件: function HelloMessage ( props ) { return < h1 > Hello World ! < / h1 > ; } 也可以使用 ES6 class

使用react进行父子组件传值

一世执手 提交于 2020-01-27 13:12:33
在单页面里面,父子组件传值是比较常见的,之前一直用vue开发,今天研究了一下react的父子组件传值,和vue差不多的思路,父组件向子组件传值,父通过初始state,子组件通过this.props进行接收就可以了;子组件向父组件传值需要绑定一个事件,然后事件是父组件传递过来的this.props.event来进行值的更替,话不多说,上代码: 父组件向子组件传值: 父组件Comment.js: import React from "react" import ComentList from "./ComentList" class Comment extends React.Component { constructor(props) { super(props); this.state = { arr: [{ "userName": "fangMing", "text": "123333", "result": true }, { "userName": "zhangSan", "text": "345555", "result": false }, { "userName": "liSi", "text": "567777", "result": true }, { "userName": "wangWu", "text": "789999", "result": true },

React和Redux的连接react-redux

南笙酒味 提交于 2020-01-27 07:57:31
之前一直在探索React相关的东西,手上有个SPA项目,于是准备上Redux试试水。Redux本身和React并没有之间的关联,它是一个通用Javscript App模块,用做App State的管理。要在React的项目中使用Redux,比较好的方式是借助react-redux这个库来做连接,这里的意思是,并不是没有react-redux,这两个库就不弄一起用了,而是说react-redux提供了一些封装,一种更科学的代码组织方式,让我们更舒服地在React的代码中使用Redux。 之前仅通过Redux文档来了解react-redux,在一段时间的实践后准备翻一翻源代码,顺便做些相关的总结。我看的代码的npm版本为 v4.0.0 ,也就是说使用的React版本是0.14.x。 react-redux提供两个关键模块:Provider和connect。 Provider Provider这个模块是作为整个App的容器,在你原有的App Container的基础上再包上一层,它的工作很简单,就是接受Redux的store作为props,并将其声明为context的属性之一,子组件可以在声明了 contextTypes 之后可以方便的通过 this.context.store 访问到store。不过我们的组件通常不需要这么做,将store放在context里

react 实现简单的todolist功能

谁说我不能喝 提交于 2020-01-27 06:34:45
需求:利用react组件化实现todolist的功能 首先要理解父子组件的传值方式,父组件通过属性在自组件绑定值或者方法,然后子组件利用 this.props.属性名 获取父组件传来的方法或者属性值。 首先在父组件中实现输入框和提交按钮 <div className="todolist"> <div className='todolisttop'> <input /> <button onClick={this.handleBtnClick}>提交</button> </div> </div> css样式 body{ display: flex; justify-content: center; align-items: center; } .todolist{ width: 300px; height: 400px; /* border: 1px solid black; */ } .todolisttop{ width: 280px; margin-left: 10px; margin-top: 10px; display: flex; justify-content: center; align-items: center; } .todolisttop input{ padding: 10px; width: 200px; border: 2px solid #ccc;

React 第一个小游戏(井字棋)知识关键点

北城余情 提交于 2020-01-27 05:09:27
1、React是一个声明式,高效且灵活的用于构建用户界面的JavaScript库 通过使用组件来告诉React我们希望在屏幕上看到什么。当数据发生变化时,React会高效的更新并重新渲染我们的组件 2、 render返回了一个React元素,这是一种对渲染内容的轻量级描述。大多数的React开发者使用了一种名为"JSX"的特殊语法, 语法<div/>会被编译成React.creatElement('div'); 3、 在JavaScript class中,每次你定义其子类的构造函数时,都需要调用super方法。因此, 所有含有构造函数的React组件中,构造函数必须以super(props)开头; 4、当你遇到需要同时获取多个子组件数据,或者两个组件之间需要相互通讯的情况时,需要把子组件的state数据 提升至其共同的父组件 当中保存。之后父组件可以通过props将状态数据传递到子组件当中。这样应用当中所有组件 的桩体数据就可以更方便的同步共享了。 5、为了提高可读性,我们把返回的React元素拆分成了多行,同时在最外层加了小括号,这样JavaScript解析时候就不会 在return的后面自动插入一个分号从而破坏代码结构了; 6、因为DOM元素<button>是一个内置组件,因此其onClick属性在React中有特殊含义。而对于用户自定义的组件来说,命名就可以 由用户自己定义了

Vue2.0 :key作用

有些话、适合烂在心里 提交于 2020-01-27 04:03:57
转自:https://www.cnblogs.com/zhumingzhenhao/p/7688336.html 为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性。 其实不只是vue,react中在执行列表渲染时也会要求给每个组件添加上key这个属性。 要解释key的作用,不得不先介绍一下虚拟DOM的Diff算法了。 我们知道,vue和react都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面。而隐藏在背后的原理便是其高效的Diff算法。 vue和react的虚拟DOM的Diff算法大致相同,其核心是基于两个简单的假设: 1. 两个相同的组件产生类似的DOM结构,不同的组件产生不同的DOM结构。 2. 同一层级的一组节点,他们可以通过唯一的id进行区分。 基于以上这两点假设,使得虚拟DOM的Diff算法的复杂度从 O(n^3) 降到了 O(n) 。 这里我们借用 React’s diff algorithm 中的一张图来简单说明一下: 当页面的数据发生变化时,Diff算法只会比较同一层级的节点: 如果节点类型不同,直接干掉前面的节点,再创建并插入新的节点,不会再比较这个节点以后的子节点了。 如果节点类型相同,则会重新设置该节点的属性,从而实现节点的更新。

ReactJS 新手入门

拈花ヽ惹草 提交于 2020-01-27 00:11:13
1、React 是什么? React 是一个用于构建用户界面的 JAVASCRIPT 库。 React 主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。 React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。 React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。 2、React 特点 1.声明式设计 −React采用声明范式,可以轻松描述应用。 2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。 3.灵活 −React可以与已知的库或框架很好地配合。 4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。 5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。 6.单向响应的数据 流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。 3、antd-Ant Design of React antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。 特性 提炼自企业级中后台产品的交互语言和视觉风格。 开箱即用的高质量 React 组件。 使用

react:组件

大兔子大兔子 提交于 2020-01-26 19:06:53
概念 接收唯一带有数据的 “props”(代表属性)对象与并返回一个 React 元素。 react组件包括函数组件和 class 组件: 函数组件 function Welcome ( props ) { return < h1 > Hello , { props . name } < / h1 > ; } class组件 class Welcome extends React . Component { render ( ) { return < h1 > Hello , { this . props . name } < / h1 > ; } } props 当 React 元素为用户自定义组件时,它会将 JSX 所接收的属性(attributes)转换为单个对象传递给组件,这个对象被称之为 “props”。 function Welcome ( props ) { return < h1 > Hello , { props . name } < / h1 > ; } const element = < Welcome name = "Sara" / > ; ReactDOM . render ( element , document . getElementById ( 'root' ) ) ; 1. 我们调用 ReactDOM.render() 函数,并传入

react-native —— 在Windows下搭建React Native Android开发环境

China☆狼群 提交于 2020-01-26 17:19:11
在Windows下搭建React Native Android开发环境 前段时间在 开发者头条 收藏了 @天地之灵_邓鋆 分享的《 在Windows下搭建React Native Android开发环境 》,在 开发者头条 的抓取内容可以看到一部分,由于一直在休假就没有仔细学习,今天再次回顾我的收藏时却发现链接打不开(其实当时也有发现,只是这么说一下罢了)。于是,你应该知道怎么做的,最好的工具莫过于搜索而不是一味的抱怨说只能在mac上玩。之前因为react native ios肯定是只能在mac上玩,Android就不那么必须了。好了,我来开始搭建一下环境试试。 React Native Android 安装JDK 从 Java官网之JDK下载列表 下载JDK并安装。请注意选择 x86 还是 x64 版本。我在这里直接接受了 @天地之灵_邓鋆 的推荐将JDK的bin目录加入到了系统PATH环境变量。注意:下载链接不能直接使用,需要先接受协议(这里有存入cookies),可以通过 Java官网之JDK下载列表 下载JDK。 设置环境变量PATH:jdk的位置。例如:(PATH => D:\Program Files\Java\jdk1.8.0_60\bin) 安装Android SDK 单独安装Android SDK,在墙的环境下,为了速度我选择了使用 androiddevtools