[译] 我多希望在我学习 React.js 之前就已经知晓这些小窍门

Posted 掘金开发者社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[译] 我多希望在我学习 React.js 之前就已经知晓这些小窍门相关的知识,希望对你有一定的参考价值。


  • 译文出自:掘金翻译计划

  • 本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO1/what-i-wish-i-knew-when-i-started-to-work-with-react-js.md

  • 译者:xionglong58

  • 校对者:xujiujiuwznonstop

自从 2013 年 5 月 29 日发布初始版本以来,React.js 迅速抢占互联网。很明显,包括我在内的很多开发者都从这一神奇的架构中获益。

在 Medium 中有很多关于 React.js 的教程,我真希望在初学 React.js 的时候,其中能有一篇能告诉我下面所列的一些小窍门。

使用箭头函数的时候不需要 .bind(this) 操作

通常,当你有一个受控组件的时候,你的程序多少会包含下面的内容:

 
   
   
 
  1. class Foo extends React.Component{

  2. constructor( props ){

  3. super( props );

  4. this.handleClick = this.handleClick.bind(this);

  5. }


  6. handleClick(event){

  7. // your event handling logic

  8. }


  9. render(){

  10. return (

  11. <button type="button"

  12. onClick={this.handleClick}>

  13. Click Me

  14. </button>

  15. );

  16. }

  17. }

你之所以会针对每一个方法使用 .bind(this),是因为大多数教程告诉你得那样做。当你有很多受控组件的时候,你的 constructor(){} 将会显得特别臃肿。

其实,你可以这样做:

 
   
   
 
  1. class Foo extends React.Component{


  2. handleClick = (event) => {

  3. // your event handling logic

  4. }


  5. render(){

  6. return (

  7. <button type="button"

  8. onClick={this.handleClick}>

  9. Click Me

  10. </button>

  11. );

  12. }

  13. }

咋样?

ES6 中的箭头函数使用 词法作用域 让方法能够访问其被定义位置的 this

当 service worker 阻碍你开发时

service worker 有利于 渐进式 web 应用,它使得网页能够离线访问,并在用户的网络连接状态差时进行优化。

但是,如果你没有意识到 service worker 在缓存你的静态文件,你会反复尝试进行热替换操作。

却发现网站一直得不到更新。

以上是关于[译] 我多希望在我学习 React.js 之前就已经知晓这些小窍门的主要内容,如果未能解决你的问题,请参考以下文章

React.js生态系统概览 [译]

React.js生态系统概览 [译]

React html 自定义样式

CK2041-React.js入门与案例开发

我真希望有人在我学计算机之前,就告诉了我这100多个程序员学习网站!全编程人员都可以看

如何在 React js 中渲染功能组件之前获取数据