react基本知识点合集
妹子UI里面有React的相关组件与用法:http://amazeui.org/react/components
React官方网站:https://facebook.github.io/react/docs/getting-started.html
React中文网站:http://www.css88.com/react/docs/getting-started.html
1、react两种注释:
这个是在react里面的。
{/* 要注释的内容 */}
在代码行里面用
/* */
2、html中的class在react中用className,html中的for在react中用htmlFor,行内样式书写规范style={{color:'red'}}
3、添加自定义属性之前添加data-前缀:<div data-custom-attribute="foo" />
4、react中的表达式的用法:
在className中直接可以判断什么状态用什么样式:className={2 > 1 ? 'class-a' : 'class-b'}
在模块中直接根据条件来判断具体用哪一个组件:{window.isLoggedIn ? <Nav /> : <Login />}
5、html转义:后台传过来的数据带页面标签的是不能直接转义的,具体转义的写法如下:
var content='<strong>content</strong>'; React.render(
<div dangerouslySetInnerHTML={{__html: content}}></div>,
document.body
);
6、传播属性和延伸属性:
如果提前知道属性的话直接写就好了,用传播属性即可:var component = <Component foo={x} bar={y} />;
如果属性是后来动态添加的话上面的那种形式就不太适合了,需要用延伸属性:
var props = {};
props.foo = x;
props.bar = y;
var component = <Component {...props} />;
//或者
var props = { foo: x, bar: y };
var component = <Component { ...props } />;
7、在React中大多以JSX方式书写。JSX是一个语法糖,最终都会被解析为纯JavaScript代码。React虽然也可以直接使用javascript书写,但是官网推荐支持的是JSX方式。要把带有JSX语法的代码转化为纯Javascript代码,在script标签中要加上type="text/jsx",并引入JSXTransformer.js文件即可。这种方式不适用于生产环境,生产环境需要提前编译转换好。用npm全局安装react-tools即可:npm install -g react-tools
8、组件开发:开发组件的时候可以将相关的组件关联在一起。如父组件里面有多个子组件的情况,可以如下方式操作:
var Form = MyFormComponent; var App = (
<Form>
<Form.Row>
<Form.Label />
<Form.Input />
</Form.Row>
</Form>
); //这样你只需将子组件的ReactClass作为其父组件的属性:
var MyFormComponent = React.createClass({ ... }); MyFormComponent.Row = React.createClass({ ... });
MyFormComponent.Label = React.createClass({ ... });
MyFormComponent.Input = React.createClass({ ... });
react基本知识点合集的更多相关文章
- REACT相关资料合集
===实例=== https://github.com/jesseskinner/react-webpack-demo ===UI组件库=== https://github.com/amazeui/a ...
- javascript 易错知识点合集
为什么 typeof null === 'object' 原理是这样的,不同的对象在底层都表示为二进制,在JavaScript中二进制前三位都为0的话会被判断为 object 类型, null 的二进 ...
- 【python系统学习08】for循环知识点合集
for循环 for简介 [循环]:就是依照某些我们编写的特定规则,重复的做一件事. 当你需要重复的"搬砖"的时候,可以用for循环进行遍历,让机器循环的帮你去"搬砖&qu ...
- 【视频合集】极客时间 react实战进阶45讲 【更新中】
https://up2.v.sharedaka.com/video/ochvq0AVfpa71A24bmugS5EewhFM1553702519936.mp4 01 React出现的历史背景及特性介绍 ...
- es6常用基础合集
es6常用基础合集 在实际开发中,ES6已经非常普及了.掌握ES6的知识变成了一种必须.尽管我们在使用时仍然需要经过babel编译. ES6彻底改变了前端的编码风格,可以说对于前端的影响非常巨大.值得 ...
- 掘金 Android 文章精选合集
掘金 Android 文章精选合集 掘金官方 关注 2017.07.10 16:42* 字数 175276 阅读 50053评论 13喜欢 669 用两张图告诉你,为什么你的 App 会卡顿? - A ...
- react-native 入门资源合集
# 了解react-native React Native enables you to build world-class application experiences on native pla ...
- HCNP学习笔记之史上最全华为路由器交换机配置命令大合集
先来一张思科和华为命令的对照表: 史上最全华为路由器交换机配置命令大合集,熟练掌握下面的华为路由器交换机配置知识点,你只需花几分钟的时间就能明白华为路由器交换机配置.交换机的配置命令等等. 华为路由器 ...
- SAP成都研究院2018年总共87篇技术文章合集
2018年很快就要结束了.Jerry在2017年年底准备开始写这个公众号时,给自己定的目标是:2018年至少保证每周发布一篇高质量的文章.如今2018年就快过去了,高质量与否需要大家来反馈,至少从量上 ...
随机推荐
- 如何在 ubuntu linux 一行中执行多条指令
cd /my_folder rm *.jar svn co path to repo mvn compile package install 使用&& 运算符连接指令 cd /my_f ...
- TeXstudio安装后提示no LaTeX distribution found on this system
应该是设置一下用户变量,而非系统变量,用TeXLive 2015和MikTeX都不好使,最后设置了用户变量好使了 S:\TeX\MiKTeX 2.9\miktex\bin\x64\ 也是醉醉的 不过等 ...
- 【CCPC-Wannafly Winter Camp Day3 (Div1) I】石头剪刀布(按秩合并并查集)
点此看题面 大致题意: 有\(n\)个人,第\(i\)个人坐在编号为\(i\)的座位上,每个人等概率有石头.剪刀.布中的一张卡片.有两种操作:第一种是第\(y\)个人挑战第\(x\)个人,如果胜利则\ ...
- 木棒,POJ(1011)
题目链接:http://poj.org/problem?id=1011 解题报告: #include <cstdio> #include <cstring> #include ...
- CentOS 6下PXE+Kickstart无人值守安装操作系统
一.简介1.1 什么是PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作 ...
- 20145238-荆玉茗 《Java程序设计》第6周学习总结
20145238 <Java程序设计>第6周学习总结 教材学习内容总结 第十章输入和输出 10.1.1 ·如果要将数据从来源中取出,可以使用输入串流,若将数据写入目的地,可以使用输出串流. ...
- svn: 处于冲突状态
svn: 提交失败(细节如下):svn: 提交终止: “/home/usa/svn/aispeech/air201102/branches/opt-vite/wvite” 处于冲突状态 删除文件夹wv ...
- IIS 处理程序“PageHandlerFactory-Integrated”
出现这种错误是因为先安装了.net framework 4.0然后才安装了iis,此种情况下iis默认只支持.net framewrok 2.0,要解决此问题,需要在iis中注册.net framew ...
- 深入理解JVM类加载机制
1.什么是类加载机制? JVM把class文件加载到内存里面,并对数据进行验证.准备.解析和初始化,最终能够被形成被JVM可以直接使用的Java类型的过程. 生命周期包含:加载,验证,准备,解析,初始 ...
- MySQL存储引擎MyISAM与InnoDB
一. MySQL存储引擎MyISAM与InnoDB如何选择 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).B ...