React-cookie выдаёт ошибку «Проверьте метод рендеринга` CookiesProvider` » - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь использовать куки в своем приложении реакции, но не могу заставить работать модуль 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);
...