【发布时间】:2017-10-09 02:11:22
【问题描述】:
我在实现 react cookie v^2 时遇到问题。我使用 webpack-dev-server 进行测试。
这是一个关闭日志:
警告:上下文类型失败:上下文cookies 在withCookies(App) 中标记为必需,但其值为undefined。
在 withCookies(App)
在提供者中
/App.jsx:
import React, { Component } from 'react';
import { CookiesProvider, withCookies, Cookies} from 'react-cookie'
import {Route, Switch, BrowserRouter} from 'react-router-dom';
//import RequireAuth from './RequireAuth';
import NotFoundPage from './NotFoundPage';
import LandingPage from './LandindPage';
import WorkSpace from './WorkSpace';
import ActivationPage from './ActivationPage';
class App extends Component {
render() {
return (
<CookiesProvider>
<BrowserRouter>
<Switch>
<Route exact={true} path="/" component={LandingPage}/>
<Route path="/workspace" component={WorkSpace}/>
<Route exact path="/activation" component={ActivationPage}/>
<Route path="*" component={NotFoundPage}/>
</Switch>
</BrowserRouter>
</CookiesProvider>
);
}
}
export default withCookies(App);
/index.js:
import React from 'react';
import ReactDOM from 'react-dom';
import { createStore, applyMiddleware } from 'redux';
import reduxThunk from 'redux-thunk';
import reducers from './reducers';
import { Provider } from 'react-redux';
import App from './components/App';
const createStoreWithMiddleware = applyMiddleware(reduxThunk)(createStore);
const store = createStoreWithMiddleware(reducers);
ReactDOM.render(
<Provider store = {store}>
<App/>
</Provider>
,
document.getElementById('root'));
【问题讨论】:
-
所以,为了解决这个问题,我将 react-cookie 库更改为 Universal-cookie 并且它可以工作。但问题仍然存在,为什么没有定义?它应该在服务器端定义吗? (但在没有服务器的 react-cookie github 上的 README 中有一个示例)
标签: javascript reactjs cookies react-redux