注意上面没有渲染 “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 的形式被使用,但不能再使用它了。
相应的,你需要:
npm install prop-typesimport PropTypes from 'prop-types'
然后就可以使用它啦,如: PropTypes.string 。
如果你错误地使用了 React.PropTypes,会得到这样的错误提示:
TypeError: Cannot read property 'string' of undefined4. 没有使用指南里指定的版本
在看或阅读有关代码的内容以及使用指南里的例子时,确保你使用的库版本与例子的里的版本是一致的。一般使用最新版本是没有问题,但是如果内容过时,你可能会遇到一些弃用问题。
为了安全起见,请使用主干版本。 例如,如果教程里使用的是 React 16,自己就不要使用 React 15 进行开发了。
这对 Node.js 也很重要。如果使用旧版本的 Node,会遇到一系列问题。 例如,如果你正在看一些教程,这些教程使用了 Object.values,而你现在用 Node 6.x,那个版本此方法是不存在的。 你需要 Node 7.x 或更高版本。
5. 令人困惑的函数与类
你能看出下面的代码有什么问题吗?
class Numbers extends
