React常见的15个问题

  

注意上面没有渲染 “My Awesome Button” 和 React 刚刚呈现的空 HTML 按钮元素。 在这种情况下,React 不会警告你。

2. 使用单引号而不是反引号

用反引号()创建的字符串与用单引号('…')创建的字符串不同。

在大多数键盘上,可以使用 tab 键上方的键来输入用反引号( ` )字符。

当需要在字符串中包含动态表达式时,使用反引号创建一个字符串(不需要使用字符串连接)。

`This is a string template literal that can include expressions` 'This is just a string, you cannot include expressions here'

假设你想要一个始终报告当前时间的字符串:

“Time is ...”

// Current time string const time = new Date().toLocaleTimeString(); // 使用普通字符串(单引号或双引号)时,需要使用字符串连接: 'Time is ' + time // 在使用反引号时,可以使用 ${} 在字符串中注入时间 `Time is ${time}`

此外,反引号还声明一个字符串时,可以创建一个跨多行的字符串:

const template = `I CAN SPAN Multiple Lines`;

常规字符串不能这样做。

3. 使用React.PropTypes

PropTypes 对象已从 React 中删除。 其过去是以 React.PropTypes 的形式被使用,但不能再使用它了。

相应的,你需要:

  1. npm install prop-types
  2. import PropTypes from 'prop-types'

然后就可以使用它啦,如: PropTypes.string 。

如果你错误地使用了 React.PropTypes,会得到这样的错误提示:

TypeError: Cannot read property 'string' of undefined

4. 没有使用指南里指定的版本

在看或阅读有关代码的内容以及使用指南里的例子时,确保你使用的库版本与例子的里的版本是一致的。一般使用最新版本是没有问题,但是如果内容过时,你可能会遇到一些弃用问题。

为了安全起见,请使用主干版本。 例如,如果教程里使用的是 React 16,自己就不要使用 React 15 进行开发了。

这对 Node.js 也很重要。如果使用旧版本的 Node,会遇到一系列问题。 例如,如果你正在看一些教程,这些教程使用了 Object.values,而你现在用 Node 6.x,那个版本此方法是不存在的。 你需要 Node 7.x 或更高版本。

5. 令人困惑的函数与类

你能看出下面的代码有什么问题吗?

class Numbers extends 
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信