Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React,Javascript-找不到;商店「;在「;连接(应用程序)";_Javascript_Reactjs - Fatal编程技术网

React,Javascript-找不到;商店「;在「;连接(应用程序)";

React,Javascript-找不到;商店「;在「;连接(应用程序)";,javascript,reactjs,Javascript,Reactjs,我正在尝试将propTypes和mapStateToProps添加到React-intl的App.js组件中。但它表示在“Connect(App)”上下文中找不到“store” 我的App.js import React, { Component } from "react"; import { BrowserRouter as Router, Route, Switch } from "react-router-dom"; import jwt_decode from "jwt-decode"

我正在尝试将propTypes和mapStateToProps添加到React-intl的App.js组件中。但它表示在“Connect(App)”上下文中找不到“store”

我的App.js

import React, { Component } from "react";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
import jwt_decode from "jwt-decode";
import setAuthToken from "./utils/setAuthToken";
import { setCurrentUser, logoutUser } from "./actions/authActions";
import PropTypes from "prop-types";
import { connect } from "react-redux";

import { Provider } from "react-redux";
import store from "./store";

import PrivateRoute from "./components/common/PrivateRoute";

import Navbar from "./components/layout/Navbar";
import Footer from "./components/layout/Footer";
import Register from "./components/auth/Register";
import Login from "./components/auth/Login";
import Main from "./components/main/Main";
import Account from "./components/main/Account";

import { IntlProvider } from "react-intl";
import "./App.css";

// Check for token
if (localStorage.jwtToken) {
  // Set auth token header auth
  setAuthToken(localStorage.jwtToken);
  // Decode token and get user info and exp
  const decoded = jwt_decode(localStorage.jwtToken);
  // Set user and isAuthenticated
  store.dispatch(setCurrentUser(decoded));

  // Check for expired token
  const currentTime = Date.now() / 1000;
  if (decoded.exp < currentTime) {
    // Logout user
    store.dispatch(logoutUser());
    // TODO: Clear current Profile

    // Redirect to login
    window.location.href = "/login";
  }
}

class App extends Component {
  render() {
    const { lang } = this.props;
    return (
      <Provider store={store}>
        <Router>
          <IntlProvider locale={lang}>
            <div className="App">
              <Navbar />
              <Route exact path="/" component={Register} />
              <Route exact path="/login" component={Login} />
              <Switch>
                <PrivateRoute exact path="/dashboard" component={Main} />
                <PrivateRoute exact path="/account" component={Account} />
              </Switch>
              <Footer />
            </div>
          </IntlProvider>
        </Router>
      </Provider>
    );
  }
}

App.propTypes = {
  lang: PropTypes.string.isRequired
};

const mapStateToProps = state => ({
  lang: state.locale.lang
});

export default connect(mapStateToProps)(App);

import React,{Component}来自“React”;
从“react Router dom”导入{BrowserRouter as Router,Route,Switch};
从“jwt解码”导入jwt_解码;
从“/utils/setAuthToken”导入setAuthToken;
从“/actions/authActions”导入{setCurrentUser,logoutUser};
从“道具类型”导入道具类型;
从“react redux”导入{connect};
从“react redux”导入{Provider};
从“/store”导入存储;
从“/components/common/PrivateRoute”导入PrivateRoute;
从“/components/layout/Navbar”导入导航栏;
从“/components/layout/Footer”导入页脚;
从“/components/auth/Register”导入寄存器;
从“/components/auth/Login”导入登录名;
从“/components/Main/Main”导入Main;
从“/components/main/Account”导入帐户;
从“react intl”导入{IntlProvider};
导入“/App.css”;
//检查代币
if(localStorage.jwtToken){
//设置身份验证令牌头身份验证
setAuthToken(localStorage.jwtToken);
//解码令牌并获取用户信息和exp
const decoded=jwt_decode(localStorage.jwtToken);
//设置用户并进行身份验证
存储调度(setCurrentUser(已解码));
//检查过期的令牌
const currentTime=Date.now()/1000;
if(decoded.exp({
lang:state.locale.lang
});
导出默认连接(MapStateTops)(应用程序);
表示“在“连接(应用)”的上下文中找不到“存储”。请将根组件包装在中,或在“连接选项”中将自定义的React上下文提供程序传递给和相应的React上下文使用者以连接(应用)。

尝试将
移动到
index.js

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { BrowserRouter, Route } from 'react-router-dom';
import App from './App';
import store from './store';

ReactDOM.render(
  <BrowserRouter>
    <Provider store={store}>
      <Route component={App} />
    </Provider>
  </BrowserRouter>, document.getElementById('root'));
class App extends Component {
  render() {
    const { lang } = this.props;
    return (
          <IntlProvider locale={lang}>
            <div className="App">
              <Navbar />
              <Route exact path="/" component={Register} />
              <Route exact path="/login" component={Login} />
              <Switch>
                <PrivateRoute exact path="/dashboard" component={Main} />
                <PrivateRoute exact path="/account" component={Account} />
              </Switch>
              <Footer />
            </div>
          </IntlProvider>
    );
  }
}
从“React”导入React;
从“react dom”导入react dom;
从'react redux'导入{Provider};
从“react router dom”导入{BrowserRouter,Route};
从“./App”导入应用程序;
从“./store”导入存储;
ReactDOM.render(
,document.getElementById('root');
App.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { BrowserRouter, Route } from 'react-router-dom';
import App from './App';
import store from './store';

ReactDOM.render(
  <BrowserRouter>
    <Provider store={store}>
      <Route component={App} />
    </Provider>
  </BrowserRouter>, document.getElementById('root'));
class App extends Component {
  render() {
    const { lang } = this.props;
    return (
          <IntlProvider locale={lang}>
            <div className="App">
              <Navbar />
              <Route exact path="/" component={Register} />
              <Route exact path="/login" component={Login} />
              <Switch>
                <PrivateRoute exact path="/dashboard" component={Main} />
                <PrivateRoute exact path="/account" component={Account} />
              </Switch>
              <Footer />
            </div>
          </IntlProvider>
    );
  }
}
类应用程序扩展组件{
render(){
const{lang}=this.props;
返回(
);
}
}
尝试将
移动到
index.js

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { BrowserRouter, Route } from 'react-router-dom';
import App from './App';
import store from './store';

ReactDOM.render(
  <BrowserRouter>
    <Provider store={store}>
      <Route component={App} />
    </Provider>
  </BrowserRouter>, document.getElementById('root'));
class App extends Component {
  render() {
    const { lang } = this.props;
    return (
          <IntlProvider locale={lang}>
            <div className="App">
              <Navbar />
              <Route exact path="/" component={Register} />
              <Route exact path="/login" component={Login} />
              <Switch>
                <PrivateRoute exact path="/dashboard" component={Main} />
                <PrivateRoute exact path="/account" component={Account} />
              </Switch>
              <Footer />
            </div>
          </IntlProvider>
    );
  }
}
从“React”导入React;
从“react dom”导入react dom;
从'react redux'导入{Provider};
从“react router dom”导入{BrowserRouter,Route};
从“./App”导入应用程序;
从“./store”导入存储;
ReactDOM.render(
,document.getElementById('root');
App.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { BrowserRouter, Route } from 'react-router-dom';
import App from './App';
import store from './store';

ReactDOM.render(
  <BrowserRouter>
    <Provider store={store}>
      <Route component={App} />
    </Provider>
  </BrowserRouter>, document.getElementById('root'));
class App extends Component {
  render() {
    const { lang } = this.props;
    return (
          <IntlProvider locale={lang}>
            <div className="App">
              <Navbar />
              <Route exact path="/" component={Register} />
              <Route exact path="/login" component={Login} />
              <Switch>
                <PrivateRoute exact path="/dashboard" component={Main} />
                <PrivateRoute exact path="/account" component={Account} />
              </Switch>
              <Footer />
            </div>
          </IntlProvider>
    );
  }
}
类应用程序扩展组件{
render(){
const{lang}=this.props;
返回(
);
}
}

BrowserRouter是我的错误,但在index.js
中为我工作,谢谢。BrowserRouter是我的错误,但在index.js
中为我工作,谢谢。