【问题标题】:React-cookie giving "Check the render method of `CookiesProvider`" errorReact-cookie 给出“检查 `CookiesProvider` 的渲染方法”错误
【发布时间】: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


【解决方案1】:

您下载了错误的库。库的名称是 react-cookie 而不是 react-cookies

【讨论】:

    猜你喜欢
    • 2021-08-17
    • 2021-08-03
    • 2020-01-10
    • 2020-05-31
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 2022-12-05
    • 2019-04-28
    相关资源
    最近更新 更多