Javascript Can';t使用联合收割机显示数据

Javascript Can';t使用联合收割机显示数据,javascript,node.js,reactjs,action,reducers,Javascript,Node.js,Reactjs,Action,Reducers,如果没有redux,它可以工作,因此不会出现api连接问题 我有一个连接到react和proxy的express应用程序我已经设法在react中显示了我的数据,但现在我想在redux-soo中实现这一点: 这就是我的问题,我制作了所有的减速机/操作、存储和合并减速机,但是我在我的页面中没有看到任何数据,并且我没有任何错误 这是我的代码: 行动 减速器 index.js //导入 const store=createStore(todoApp、applyMiddleware(thunk)); Re

如果没有redux,它可以工作,因此不会出现api连接问题

我有一个连接到react和proxy的express应用程序我已经设法在react中显示了我的数据,但现在我想在redux-soo中实现这一点:

这就是我的问题,我制作了所有的减速机/操作、存储和合并减速机,但是我在我的页面中没有看到任何数据,并且我没有任何错误

这是我的代码:

行动

减速器

index.js

//导入
const store=createStore(todoApp、applyMiddleware(thunk));
ReactDOM.render(

))}
);
}
}
常量mapStateToProps=状态=>({
广告:state.adverts
});
导出默认连接(
MapStateTops,
{getAdverts}
)(广告);

我想你的问题在于:

function mapStateToProps(state) {
  return {
    **adverts: state.adverts**
  };
}
如果您将state.adverts更改为state.todos.adverts,它应该可以工作:

function mapStateToProps(state) {
  return {
    adverts: state.todos.adverts
  };
}
因为您的reducer称为todos,并且它具有状态{adverts},所以即使获得了广告,也无法访问它们


你可以在这里查看工作版本:

我想你的问题在这里:

function mapStateToProps(state) {
  return {
    **adverts: state.adverts**
  };
}
如果您将state.adverts更改为state.todos.adverts,它应该可以工作:

function mapStateToProps(state) {
  return {
    adverts: state.todos.adverts
  };
}
因为您的reducer称为todos,并且它具有状态{adverts},所以即使获得了广告,也无法访问它们


您可以在此处查看工作版本:

问题是,当您仅使用一个减速机而不使用联合收割机创建存储时,可以直接在容器中引用它,如下所示:

const mapStateToProps = state => {
    
    return{
        *name of var*:  state.adverts   /*direct refers to adverts*/
    }
}
但是,当它使用组合减速器时,它必须引用您想要使用的确切减速器。如下所示:

const mapStateToProps = state => {
    
    return{
        *name of var* :  state.todos.adverts   (indirect refers to adverts from combined-reducer todos)
    }
}

问题是,如果只创建一个包含一个减速器的存储,而不使用联合收割机减速器,则可以直接在容器中引用它,如下所示:

const mapStateToProps = state => {
    
    return{
        *name of var*:  state.adverts   /*direct refers to adverts*/
    }
}
但是,当它使用组合减速器时,它必须引用您想要使用的确切减速器。如下所示:

const mapStateToProps = state => {
    
    return{
        *name of var* :  state.todos.adverts   (indirect refers to adverts from combined-reducer todos)
    }
}

您是否检查了网络调用并确保fetch调用在没有redux的情况下工作@dinesundefined您可以将console.logs放入操作、减缩器和MapStateTrops中并检查了您是否检查了网络调用并确保fetch调用在没有redux的情况下工作@dinesundefined您可以将console.logs放入操作中,reducer和mapStateToProps和Check,此外,如果只有一个reducer,则不需要组合reducer。这是事实,但他可能会在其中组合路由(因为他使用的是react router)或一些新的reducer。我想这只是以后的基础…对于联合收割机减速器,这是因为我想在将来使用更多的1个减速器:)@VinodSobaleNo problem!我很高兴能帮上忙!:)此外,如果只有一个减速机,您不需要组合减速机。这是事实,但他可能会在其中组合路由(因为他使用的是react路由器)或一些新的减速机。我想这只是以后的基础…对于联合收割机减速器,这是因为我想在将来使用更多的1个减速器:)@VinodSobaleNo problem!我很高兴能帮上忙!:)