我的react+material-ui之路
在学习react和material-ui时我遇到的问题和解决方法
react要安装得在当前文件夹下面安装, npm命令在当前文件夹执行
npm install -g全局安装, 不会安装在当前包下
npm install --save 在git到另一台电脑上时 使用npm install 命令可以自动配置该环境
状态上升到最近的父控件
每个map都要有不同的key
在用CSS时,如果遇到hover等事件,可以在styles字典中用'&:hover' : {}来表示
每次新安装modules需要重新启动npm start
绑定click事件时如果需要传递参数用 onClick = {e => this.handle(e, params)}
setstate有的时候不会更新
如果渲染的时候需要用map来遍历列表,那么列表的内容要么用props传递进来,要么在componentWillMount中获取.如果是DidMount会报错,因为空列表没有map 可以用判断列表不空再创建map
一个组件需要用两个className渲染的话 可以用 className={classes.A + ' '+ classes.B}
在react中, css内置在js中,放在style里面,每一个字典对应的就是类名和css属性, classes从props里面取出,然后用withStyles(styles)
如果文本框的value状态事先没有在类的state中声明, 则Textfiled的标签会一直在失去焦点之后下垂.
'&:nth-of-type(odd)': {}, 表格行中用这个表示奇数行
':hover' :{
'& another':{}
}表示hover之后另一个类的改变
重写组件比重写类要好
改写的时候可以参照git上的源文件.对改写的类和组件传入进去, 任何一个组件都有改写的接口.
例如
Select可以改写input, IconComponent组件
selectIcon:{
color: "#fff",
marginRight: 5,
},
<Select
value={ typeId }
input={ <CustomInput style={ { width: 425, } }/> }
IconComponent={ KeyboardArrowDown }
inputProps={{
classes: {
icon: classes.selectIcon,
}
}}
MenuProps={ {
MenuListProps: {
disablePadding: true,
}
} }
onChange={ this.handleChange('typeId') }
>
</Select>
这样就重写了一个select组件, 采用
<CustomInput style={ { width: 425, } }/>
的input组件
采用Icon 并改写icon类
build的时候如果加了homepage:"./"字段,用nginx打包的时候会出问题
nginx打包时加入参数
try_files $uri $uri/ /index.html;
jss中 after和before伪元素的content要用 ' " " '
我的react+material-ui之路的更多相关文章
- Material UI – Material Design CSS 框架
Material Design 是谷歌推出的全新的设计理念,采用大胆的色彩.流畅的动画播放,以及卡片式的简洁设计.Material Design 风格的设计拥有干净的排版和简单的布局,容易理解,内容才 ...
- 开始使用Material UI
Material-UI采用 Material Design风格的React UI组件,所以要想学习material ui先要了解react. material ui安装 Material-UI 可以使 ...
- material UI中子组件样式修改的几种方案研究
material UI是一个流行的与React配套的前端UI框架,对于开发者而言,熟悉它的样式修改方案是必要的.但目前相关资料并不直观,并且没有总结到一起.如果对相关特性不太清楚,开发者很可能会在 ...
- 仿Material UI框架的动画特效
Material UI是一款功能非常强大,界面却十分清新简洁的CSS框架,Material UI利用了Google的Material Design 全新设计语言,并且让每一个UI组件都变得非常独立,因 ...
- Angular 2 to Angular 4 with Angular Material UI Components
Download Source - 955.2 KB Content Part 1: Angular2 Setup in Visual Studio 2017, Basic CRUD applicat ...
- Material UI:很强大的CSS框架
Material UI 是一款功能很强大,界面却十分清新简洁的CSS框架.Material UI利用了Google的Material Design 全新设计语言.而且让每个UI组件都变得很独立.因此开 ...
- material UI中withStyles和makeStyles的区别
在material UI中,withStyles和makeStyles是经常使用的两个用于封装样式的函数.对于刚使用material UI的开发者而言,可能不太清楚这两者的区别. 本文简要探究 ...
- 解决material UI中弹窗(dialog、popover等)内容被遮挡问题
在material ui中有几种弹出层,比如:dialog.popover等,这些弹出层都会遇到的一个公共问题是: 假如弹出层中的内容变化了,弹出层的位置并不会重新定位. 这样,假如一开始弹出层定位在 ...
- react redux学习之路
React 自学 chapter one React新的前端思维方式 React的首要思想是通过组件(Component)来开发应用.所谓组件,简单说,指的是能够完成某个特定功能的独立的.可重用的代码 ...
- react.js学习之路一
今天新老大来了,我们要学习他使用的框架react.js,现在是两眼一抹黑,对于我这个前端菜鸟来说,是真正的重新开始,好了,不说那么多了,开始随便记录我的学习,之后再整理内容. (1)对于react来说 ...
随机推荐
- Maps JavaScript API的JavaScript代码
要请求多个库,请用逗号分隔它们 <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY& ...
- “Axure”介绍
一. Axure RP简介: Axure RP 能帮助网站需求设计者,快捷而简便的创建基于网站构架图的带注释页面示意图.操作流程图.以及交互设计,并可自动生成用于演示的网页文件和规格文件,以提供演示与 ...
- Idea中最最常见的快捷键
掌握如下快捷键,基本就够用了.没必要记那么多. Ø 命令:Ctrl+Shift+A可以查找所有Intellij的命令,并且每个命令后面还有其快捷键.所以它不仅是一大神键,也是查找学习快捷键的工具. ...
- vue -- element
1.页面 加载初始化 (function () { })();2.input 绑定键盘事件 @keyup.enter.native="onEnterSearch"@keyup.es ...
- Vue.js 2.x笔记:组件(5)
1. 组件简介 组件(Component)是 Vue.js 最强大的功能之一,组件可以扩展 HTML 元素,封装可重用的代码. 组件:为了拆分Vue实例的代码量,以不同的组件来划分不同的功能模块,需要 ...
- springboot项目中配置swagger-ui
Git官方地址:https://github.com/SpringForAll/spring-boot-starter-swagger Demo:https://github.com/dyc87112 ...
- Gradle+IDEA使用说明
Gradle+IDEA使用说明 导语: IDEA拥有大量的JAVA开发者拥护,相比于开源的eclipse,IDEA拥有更简洁直观的界面,拥有更强大的自动补全功能,号称能“一路敲回车完成编码”.如果把I ...
- [洛谷P1842] 奶牛玩杂技
题目类型:贪心+证明,经典题 传送门:>Here< 题意:有\(N\)头奶牛,每个奶牛有一个重量\(W[i]\),力量\(S[i]\).定义每个奶牛的压扁程度为排在它前面的所有奶牛的总量之 ...
- 《深入理解java虚拟机》学习笔记-----郑雨迪
一.学习java虚拟机的原因 二.java代码的运行 java -c 编译成.class 文件(java字节码) java字节码(.class文件)无法直接执行,因此,java虚拟机需要将字节码编译成 ...
- BUG in Ubuntu--Could not get lock /var/lib/dpkg/lock
在ubuntu中通过apt安装软件时,报错: E: Could not : Resource temporarily unavailable) E: Unable to lock the admini ...