【React】使用React.Fragment报错
在学习react,redux等知识,写了一个简单的404页面,如下
NonExistent.js
import React from 'react';function NonExistent(props) {
return (
<div>
error
</div>
)
}
export default NonExistent
调用的时候用了Route
App.js
import { Route, Link, withRouter, Switch, Redirect } from 'react-router-dom';...
<Switch>
...
<Route exact path={/error} component={NonExistent} />
...
</Switch>
这样是可以在切到/error路径时正常显示页面的。
然后我听说了有React.Fragment的用法,于是把页面改成
NonExistent.js
import React from 'react';function NonExistent(props) {
return (
<React.Fragment>
error
</React.Fragment>
)
}
export default NonExistent
切到/error路径时,就报错了
React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in.
莫非是和Route结合了不能使用这个语法?
或者是我写错了什么?
我用google和火狐浏览器都是这个错误。求指点。
回答
React.Fragment
一般是用来处理多个元素返回的情况,Fragment本身不转换为任何dom元素,是个空标签,比如
render() { return (
<Fragment>
<li>hi</li>
<li>原罪</li>
</Fragment>
);
}
如果不用Fragment,就得用数组包裹,
render() { return (
[
<li key="a">hi</li>,
<li key="b">原罪</li>,
]
);
}
你如果值返回一个字符串,那就直接返回就好了
render() { return 'error';
}
以上是 【React】使用React.Fragment报错 的全部内容, 来源链接: utcz.com/a/76866.html