23 分钟带你学会现代化的组件样式书写方法:styled-components。前端
经过将 ES6 中的模板字符串(template literals)特性创造性的运用到 CSS 编码上,styled-components 成了前端社区现象级的 CSS-IN-JS 解决方案,能让咱们在不用担忧样式和组件之间如何关联的状况下用 CSS 书写组件,让样式组件真正成为开发的基本单元。react
那么,如何在 React/React Native 项目中使用 styled-components?如何改造现有项目?如何提升代码复用度和适应变化的能力?共 8 小节,23 分钟,本视频教程将为你打开 styled-components 的大门,让你熟知 styled-components 的主要特性,视频演示用的源码将会放在 Github 上供你调试。git
- [必须]具有前端基础知识,了解 ES6;
- [必须]具有 React 基础知识,有开发经验更好;
- [可选]指望跟上社区发展动态,学习最新的开发技术,若是知足这点,前两点可忽略;
- [可选]具有 React Native 基础知识,有开发经验的更好;
styled-components 也为 React Native 提供了很好的支持,哪些地方是彻底相同的?哪些地方须要你注意?本节视频为你解惑。视频连接:pan.baidu.com/s/1bo7opeZgithub
恰到好处的动画能让用户对你的应用爱不释手,styled-components 提供的 keyframes 辅助函数可以让咱们很容易的把 CSS 里面的动画迁移到组件中。视频连接:pan.baidu.com/s/1hspJ0rEshell
把应用中经常使用的字体、颜色、尺寸集中起来管理能极大提升代码适应变化的能力,这种功能或设计能够常被称为"主题"(亦可称皮肤)的"做用",实例演示 styled-components 的主题机制。视频连接:pan.baidu.com/s/1kVwyV0Freact-native
组件化以后怎么设置 body 样式?由于 body 是不管如何不能被写成一个组件的,好在 styled-components 给咱们提供了 injectGlobal 辅助函数来设置页面的全局样式。视频连接:pan.baidu.com/s/1hrLXqvybash
用 JS 书写样式就失去了继承的能力?使用 styled-components 提供的 extend 机制,让咱们找回这种能力,单重继承?多重继承?随你所需。视频连接:pan.baidu.com/s/1i4WKzqt微信
年年岁岁花类似,岁岁年年人不一样,编写代码一样会有这样的问题,使用 attrs 机制不只让咱们在组件中封装样式,也能封装属性,极大的提升代码复用。视频连接:pan.baidu.com/s/1pK97HMzide
使用 styled-components 编写组件的时候,能够在模板字符串中传入函数,或者表达式,这样就能够根据传给组件的 props 来调整组件的样式,让你真正体会到 CSS-IN-JS 的乐趣和威力。视频连接:pan.baidu.com/s/1o81c23S函数
实例演示使用 styled-components 编写 React 组件基本步骤和语法,把要基于 classNames 才能实现的样式关联去掉,用纯 CSS 的方式去书写 React 组件。视频连接:pan.baidu.com/s/1mhGzy56
代码仓库:wangshijun/course-styled-components-fundamentals
运行方法(建议安装和使用 yarn)
git clone https://github.com/wangshijun/course-styled-components-fundamentals.git
cd course-styled-components-fundamentals
yarn
yarn start
# react-native 代码的运行直接参照 react-native 官网文档便可复制代码
要运行每节课的代码,只须要将仓库 checkout 下面对应的版本。
- Node.js v8.6.0
- React v16
- React Native v0.49.0
- VSCode v1.17.1 + Vim
- Chrome v61
关注《前端周刊》微信公众号:fullstackacademy,回复 course-styled-components 便可获取高清视频教程下载地址。
最后,可能你有同窗会问,我为何要作这个公开课?接下来的计划是什么?请阅读很久不见,我总感受欠你点什么