【发布时间】:2019-03-21 05:09:10
【问题描述】:
我正在尝试在我的 react 应用程序中使用 cookie,但无法使 react-cookie 模块工作。我正在使用此页面中的示例:https://www.npmjs.com/package/react-cookie
但它给了我以下错误:
元素类型无效:应为字符串(用于内置组件)或类/函数(用于复合组件)但得到:对象。
检查
CookiesProvider的渲染方法。
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter } from 'react-router-dom';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
//cookie
import { CookiesProvider } from 'react-cookie';
const baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');
const rootElement = document.getElementById('root');
ReactDOM.render(
<CookiesProvider>
<BrowserRouter basename={baseUrl}>
<App />
</BrowserRouter>
</CookiesProvider>,
rootElement);
registerServiceWorker();
app.js:
//cookies
import { instanceOf } from 'prop-types';
import { withCookies, Cookies } from 'react-cookie';
class App extends Component {
displayName = App.name
static propTypes = {
cookies: instanceOf(Cookies).isRequired
};
constructor(props) {
super(props);
const { cookies } = props;
this.state = {
name: cookies.get('name') || 'Ben'
};
}
render() {
return (
<Layout>
<Route exact path='/' component={Welcome} />
<Route path='/home' component={Home} />
</Layout>
);
}
}
export default withCookies(App);
【问题讨论】:
-
为什么我无法重现问题:codesandbox.io/s/914x4vz3nw 你可以看到我没有收到任何错误
-
无论我做什么,我都会收到这个错误,使用 ASP.Net Core 2.1
标签: reactjs react-cookie