TypeError: Object (...) не является функцией - Redux - React-Router - PullRequest
0 голосов
/ 07 апреля 2020

Я получаю это сообщение «Ошибка типа: объект (...) не является функцией», когда я пытаюсь запустить приложение реагирования.

im getting the error in the store of redux.

Я получаю ошибку в магазине редукса. Я не знаю, почему я получаю эту ошибку, потому что это как-то связано с React-Router.

Это мой файл

import React from 'react';
import ReactDOM from 'react-dom';
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
import './Institute/Style/style.css'
import { ProtectedRoute } from './Institute/Protectedroutes/index'
import { Provider } from 'react-redux';
import store from './Redux/store/storage';
import 'bootstrap/dist/css/bootstrap.min.css';
//Some more Components imported here.


 class App extends React.Component {
   render() {

  return (
    <div>
      <div>
      <div id="navbar">
        <ul id="nav">
          <li>
            <Link to='/'>
              Home
            </Link>
          </li>
          <li>
            <Link to='/profilepage'>
              Profile
            </Link>
          </li>
          <li>
            <Link to='/events'>
              Events
            </Link>
          </li>
          <li>
            <Link to='/jobs'>
              Jobs
            </Link>
          </li>
          <li>
            <Link to='/login'>
              Login
            </Link>
          </li>
          <li id="sch">
            <Link to='/searchprofile'>
            Search People</Link>
          </li>
          </ul>
      </div>
      <div>
      </div>
    </div>

      <Switch>
        <Route path='/' exact component={Home}/>
        <Route path='/login' component={Login}/>
        <ProtectedRoute path='/searchprofile' component={Searchprofile}/>
        <ProtectedRoute path='/profilepage' component={Profilepage}/>
        <ProtectedRoute path='/jobs' component={Jobs}/>
        //More Routes here
        <Route path='*' component={() => "(404 Not Found)"}/>
      </Switch>
    </div>
  );
  }
}


 ReactDOM.render(

 <Provider store={store}>
    <Router> 
        <App/>
    </Router>
 </Provider>,
 document.getElementById('root')
 );

А это мой файл действий из папки действий

const Auth_True =  () => {
 return{
    type: 'Auth_True',
    Auth_State: true
  }
  }

   const Auth_False =  () => {
     return{
        type: 'Auth_False',
         Auth_State: false
     }
     }


  export default {Auth_False,Auth_True};

А это моя Редукторы из папки редукторов

const intialState = {
Auth_state : false
}

const authstate = (state = intialState, action) => {
switch(action.type){
    case 'Auth_True':
        return{

            Auth_state: action.Auth_state
        }
    case 'Auth_False':
        return{

            Auth_state: action.Auth_state
        }
    default:
        return state;
}
} 

export default authstate;

И хранилище из папки магазина - Ошибка получения из этого файла или я не знаю откуда именно

import { createStore } from 'react'
import authstate from '../reducers/reducers'

const store = createStore(authstate);

export default store;

Наконец компонент, куда я отправляю действие

import React from 'react';
import { connect } from 'react-redux'
import Auth_True from '../../Redux/action/actions'
import Auth_False from '../../Redux/action/actions'


class Login extends React.Component{
   render(){
     return(
         <div>

            <div>
            <h3>Auth State : {this.props.Auth}</h3>
            <button onClick={this.props.change_state_true}>Set True</button>
            <button onClick={this.props.change_state_false}>Set False</button>
            </div>
         </div>

      );
      }
      }

      const mapStatesToProps = state => {
      return{
      Auth : state.Auth_State
      }
       }

      const mapDispatchToProps = dispatch => {
       return{
       change_state_true : () => dispatch(Auth_True()),
       change_state_false : () => dispatch(Auth_False())
         }
          }

       export default connect(mapStatesToProps,mapDispatchToProps)(Login);

Можете ли вы, ребята, помочь мне понять, почему это происходит? это из-за React-Router или функции соединения из компонента, куда я отправляю, или это версия излишка и реакции, не поддерживающей.

1 Ответ

1 голос
/ 07 апреля 2020

вместо import { createStore } from 'react';

Попробуйте import { createStore } from 'redux';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...