Я пытаюсь использовать куки в своем приложении реакции, но не могу заставить работать модуль cookie реакции.Я использую пример с этой страницы: https://www.npmjs.com/package/react-cookie
, но выдает следующую ошибку:
Тип элемента недопустим: ожидается строка (для встроенных компонентов)или класс / функция (для составных компонентов), но получил: object.
Проверьте метод рендеринга 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);