06 2017 档案
摘要:Prop验证 随着应用不断变大,为了保证组件被正确使用变得越来越重要。为此我们引入propsTypes。React.PropTypes提供很多验证器(valodator)来验证传入的数据的有效性。当向props传入无效数据是,JavaScript控制台会抛出错误。为了性能考虑,只在开发环境验证pro
阅读全文
摘要:calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分。因为看其外表像个函数,既然是函数为何又出现在CSS中呢?这一点也让我百思不得其解,今天有一同事告诉我,说CSS3中有一个属性能实现自适应的布局,首先让我想到的是box-sizing,但跟我说还可以计算,这让我不得不想起cal
阅读全文
摘要:在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别? 一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手段实现 一个polyfill就是一个用在浏览器API上的shim.我们通常的做法是先检查当前浏览器是
阅读全文
摘要:我们也了解到 React Component 事实上可以视为显示 UI 的一个状态机(state machine),而这个状态机根据不同的 state(透过 setState() 修改)和 props(由父元素传入),Component 会出现对应的显示结果。 我们也了解到 React Compon
阅读全文
摘要:引用大神的一句话:(具体是谁自己问度娘) Shared mutable state is the root of all evil(共享的可变状态是万恶之源) -- Pete Hunt -- Pete Hunt JavaScript 中的对象一般是可变的(Mutable),因为使用了引用赋值,新的对
阅读全文
摘要:一般而言 Component 有以下三种生命周期的状态: Mounting:已插入真实的 DOM Updating:正在被重新渲染 Unmounting:已移出真实的 DOM 针对 Component 的生命周期状态 React 也有提供对应的处理方法: Mounting componentWill
阅读全文
摘要:Oject.assign() // Cloning an object var obj = { a: 1 }; var copy = Object.assign({}, obj); console.log(copy); // { a: 1 } // Cloning an object var obj
阅读全文
摘要:Presentational and Container Components 展示组件 - 只关心它们的样子。 - 可能同时包含子级容器组件和展示组件,一般含DOM标签和自定的样式。 - 通常用this.props.children来包含其他组件 - 不依赖app其它组件,比如flux的actio
阅读全文
摘要:第一个应用 Hello world 新建一个 111.js文件 在命令行中 输入 node 111.js 新建一个 111.js文件 在命令行中 输入 node 111.js 稍微复杂的应用,技术要求: - 用户可以通过浏览器使用我们的应用。 - 当用户请求http://domain/start时,
阅读全文
摘要:什么是svg - SVG 指可伸缩矢量图形 (Scalable Vector Graphics) - SVG 用来定义用于网络的基于矢量的图形 - SVG 使用 XML 格式定义图形 - SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失 - SVG 是万维网联盟的标准 - SVG 与诸如
阅读全文
摘要:Redux is a predictable state container for JavaScript apps.,亦即 Redux 希望能提供一个可以预测的 state 管理容器,让开发者可以可以更容易开发复杂的 JavaScript 应用程式(注意 Redux 和 React 并无相依性,只
阅读全文
摘要:Facebook 本身有提供 Test Utilities,但由于不够好用,所以目前主流开发社群比较倾向使用 Airbnb 团队开发的 enzyme,其可以与市面上常见的测试工具(Mocha、Karma、Jest 等)搭配使用。其中 Jest 是 Facebook 所开发的单元测试工具,其主要基于
阅读全文