React 踩坑记录
1.React-router error: super expression must either be null or a function
原因:引入babel后写ES6风格的代码:
class ComponentXX extends React.component{} 这里的C小写了,导致产生这个bug
改为大写就可以 ,不引入router不会产生这个bug
2.React-router 引入Link的时候,在ES6风格的代码下应该这样写:
import {Link} from "react-router"; 哪怕只有一个Link也要用花括号括起来,否则会让react报类型不正确的错误。
3. React中需要使用 async/wait的时候需要做如下几件事
npm install babel-preset-stage-0 --save-dev npm install --save-dev babel-plugin-transform-runtime npm install --save babel-runtime
然后在.babelrc中进行如下配置:
{ "presets": [ "es2015", "stage-0","react"], "plugins": [ ["transform-runtime", { "polyfill": false, "regenerator": true }] ] }
如果还用到了eslint插件,还需要将.eslintrc中的规则更改一下
{ "no-constant-condition":[ "warn",{ "checkLoops":false } ], "no-fallthrough":["warn",{ "commentPattern": "break[\\s\\w]*omitted" }] }