在学习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之路的更多相关文章

  1. Material UI – Material Design CSS 框架

    Material Design 是谷歌推出的全新的设计理念,采用大胆的色彩.流畅的动画播放,以及卡片式的简洁设计.Material Design 风格的设计拥有干净的排版和简单的布局,容易理解,内容才 ...

  2. 开始使用Material UI

    Material-UI采用 Material Design风格的React UI组件,所以要想学习material ui先要了解react. material ui安装 Material-UI 可以使 ...

  3. material UI中子组件样式修改的几种方案研究

      material UI是一个流行的与React配套的前端UI框架,对于开发者而言,熟悉它的样式修改方案是必要的.但目前相关资料并不直观,并且没有总结到一起.如果对相关特性不太清楚,开发者很可能会在 ...

  4. 仿Material UI框架的动画特效

    Material UI是一款功能非常强大,界面却十分清新简洁的CSS框架,Material UI利用了Google的Material Design 全新设计语言,并且让每一个UI组件都变得非常独立,因 ...

  5. 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 ...

  6. Material UI:很强大的CSS框架

    Material UI 是一款功能很强大,界面却十分清新简洁的CSS框架.Material UI利用了Google的Material Design 全新设计语言.而且让每个UI组件都变得很独立.因此开 ...

  7. material UI中withStyles和makeStyles的区别

      在material UI中,withStyles和makeStyles是经常使用的两个用于封装样式的函数.对于刚使用material UI的开发者而言,可能不太清楚这两者的区别.   本文简要探究 ...

  8. 解决material UI中弹窗(dialog、popover等)内容被遮挡问题

    在material ui中有几种弹出层,比如:dialog.popover等,这些弹出层都会遇到的一个公共问题是: 假如弹出层中的内容变化了,弹出层的位置并不会重新定位. 这样,假如一开始弹出层定位在 ...

  9. react redux学习之路

    React 自学 chapter one React新的前端思维方式 React的首要思想是通过组件(Component)来开发应用.所谓组件,简单说,指的是能够完成某个特定功能的独立的.可重用的代码 ...

  10. react.js学习之路一

    今天新老大来了,我们要学习他使用的框架react.js,现在是两眼一抹黑,对于我这个前端菜鸟来说,是真正的重新开始,好了,不说那么多了,开始随便记录我的学习,之后再整理内容. (1)对于react来说 ...

随机推荐

  1. ios 添加三方字体

    字体文件一般后缀名为.ttf 或.odf (备注: 有的字体是收费的,不能用于商业应用.所以还请设计师选择免费的字体好一点,不然会收到律师函哦) 1 加入字体文件 2. info.plist 文件引入 ...

  2. python中使用redis发布订阅者模型

    redis发布订阅者模型: Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel.发布者和订阅者都是Redis客户端,Channel则 ...

  3. Python----多元线性回归

    多元线性回归 1.多元线性回归方程和简单线性回归方程类似,不同的是由于因变量个数的增加,求取参数的个数也相应增加,推导和求取过程也不一样.. y=β0+β1x1+β2x2+ ... +βpxp+ε 对 ...

  4. win10下安装ubuntu18.04

    在win10下安装Ubuntu18.04,双系统共存.Ubuntu 18.04 使用的是Gnome桌面. 查看系统的启动模式: Win+R打开运行,输入msinfo32,回车查看系统信息.在BIOS模 ...

  5. mysql-笔记-numberic 方法 操作符

    DIV 整数除法---结果舍去小数部分, /除法 ---除以0时返回 null值 -减法 % MOD 取模 ---结果为 余数 也可以用于有小数部分的数返回余数,mod(N,0)返回null值 + 加 ...

  6. cocos 场景制作流程

    前面的话 本文将详细介绍 cocos 场景制作流程 节点和组件 Cocos Creator 的工作流程是以组件式开发为核心的,组件式架构也称作组件-实体系统,简单的说,就是以组合而非继承的方式进行实体 ...

  7. mpvue——Error: Cannot find module 'escape-string-regexp'

    报错 $ cnpm run build > mpvue-qq@1.0.0 build D:\wamp\www\wxsmallsoft\mini-0212\mpvueQQ > node bu ...

  8. jquery笔记整理

    01-jquery简介 1)功能:     ·html元素选取     ·Html元素操作     ·Css操作     ·Html事件函数     ·JavaScript特效和动画     ·DOM ...

  9. Nginx从入门到实践(四)

    Nginx常见问题和排错经验,实践应用场景中的方法处理Nginx安全,常见的应用层安全隐患,复杂访问控制,Nignx的sql防注入安全策略,Nginx的整体配置,搭建合理Nginx中间件架构配置步骤. ...

  10. 洛谷P4643 [国家集训队]阿狸和桃子的游戏(思维题+贪心)

    思维题,好题 把每条边的边权平分到这条边的两个顶点上,之后就是个sb贪心了 正确性证明: 如果一条边的两个顶点被一个人选了,一整条边的贡献就凑齐了 如果分别被两个人选了,一作差就抵消了,相当于谁都没有 ...