Reactjs TypeError:Object(…)不是REACT-JS中的函数(Reducers中的问题)

Reactjs TypeError:Object(…)不是REACT-JS中的函数(Reducers中的问题),reactjs,firebase,reducers,Reactjs,Firebase,Reducers,您可能会认为这是同一个错误,并且多次得到了回答。我自己对此做了很多研究,但没有解决它。所以问题在于减速机,这就是我所知道的。 目前我有两个面板在我的项目,管理员和用户。由于减速器,我无法访问用户。 屏幕上显示的错误为, 现在在下面分享我的代码 位于routes文件夹中的ConfigureStore export const ConfigureStore = () => { const store= createStore(rootReducer, compose( a

您可能会认为这是同一个错误,并且多次得到了回答。我自己对此做了很多研究,但没有解决它。所以问题在于减速机,这就是我所知道的。 目前我有两个面板在我的项目,管理员和用户。由于减速器,我无法访问用户。 屏幕上显示的错误为, 现在在下面分享我的代码

位于routes文件夹中的ConfigureStore

export const ConfigureStore = () => {

const store= createStore(rootReducer,
    compose(
      applyMiddleware(thunk.withExtraArgument(getFirebase)),
      reactReduxFirebase(fbConfig)
      )  
    );

 return store;
}
actionSignIn.js

export const signIn = (credentials) => {
  return (dispatch, getState, {getFirebase}) => {
    const firebase = getFirebase();

    firebase.auth().signInWithEmailAndPassword(
      credentials.email,
      credentials.password
    ).then(() => {
      dispatch({ type: 'LOGIN_SUCCESS' });
    }).catch((err) => {
      dispatch({ type: 'LOGIN_ERROR', err });
    });

  }
}
reducesignin.js

const initState = {
  authError: null
}

const authReducer = (state = initState, action) => {
  switch(action.type){
    case 'LOGIN_ERROR':
      console.log('login error');
      return {
        ...state,
        authError: 'Login failed'
      }

    case 'LOGIN_SUCCESS':
      console.log('login success');
      return {
        ...state,
        authError: null
      }
UserLoginForm.js

handleSubmit = (e) => {
     e.preventDefault();
    this.props.signIn(this.state)
  }

  render() {
    const { email, password, error } = this.state;
    return (
      <div className="container" style={{textAlign:"center"}}>
        <form className="white" onSubmit={this.handleSubmit}>
          <h5 className="grey-text text-darken-3">Sign In</h5>

          <div className="input-field">
            <label htmlFor="email">Email</label>
            <input type="email" id='email' value={email} onChange={this.handleChange} />
          </div>
          <div className="input-field">
            <label htmlFor="password">Password</label>
            <input type="password" id='password' value={password} onChange={this.handleChange} />
          </div>
          <div className="input-field">
            <button className="btn pink lighten-1 z-depth-0">Login</button>
            <div className="center red-text">
            {error ? (<Flex><Box><Text>{error.message}</Text></Box></Flex>) : null}           
             </div>
          </div>
        </form>
      </div>
    )
  }
}
handleSubmit=(e)=>{
e、 预防默认值();
this.props.sign(this.state)
}
render(){
const{email,password,error}=this.state;
返回(
登录
电子邮件
密码
登录
{error?({error.message}):null}
)
}
}
并在App.js中导入ConfigureStore,如

const store = ConfigureStore();

class App extends Component {
  render(){
  return (
    <Provider store={store}>
      <BrowserRouter>
      <div >
       <MainComponent/>
      </div>
      </BrowserRouter>
      </Provider>
  );
}
}
const store=ConfigureStore();
类应用程序扩展组件{
render(){
返回(
);
}
}

询问是否需要进一步的信息,提前感谢

您的进口产品是什么样子的?aka您如何导入
配置存储
和/或其中使用的其他项目?@JohnRuddell更新了我的问题。对不起,我指的是什么是
创建存储
?你是怎么进口的?你检查过这是否正确吗?我会检查该方法中的每一项内容,
getFirebase
是否正确?也许
reactReduxFirebase
采用函数而不是对象?看看你的假设是什么,看看这些假设是否有错。如果看不到您正在使用的软件包以及您的导入是如何的,那么很难提供帮助。