Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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
Javascript 如何将数据传递到组件?_Javascript_Reactjs_Redux_React Redux - Fatal编程技术网

Javascript 如何将数据传递到组件?

Javascript 如何将数据传递到组件?,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,警告:您可能有拼写笔划 嘿!我有一个非常简单的问题(也许):我应该如何将数据传递给我的组件? 现在我只能看到两种解决方案:props(从应用程序到我的组件)和redux(mapStateToProps、mapDispatchToProps)(现在让我们跳过ContextAPI) 案例1(道具(从应用程序到我的组件)) 例如,我在我的网站上有一个商品清单。然后我的列表必须接收数据才能呈现它。我应该通过App、Main、SomeWrapper、SomeOtherWrapper、GoodsList(

警告:您可能有拼写笔划

嘿!我有一个非常简单的问题(也许):我应该如何将数据传递给我的组件? 现在我只能看到两种解决方案:props(从应用程序到我的组件)和redux(mapStateToProps、mapDispatchToProps)(现在让我们跳过ContextAPI)


案例1(道具(从应用程序到我的组件)) 例如,我在我的网站上有一个商品清单。然后我的列表必须接收数据才能呈现它。我应该通过App、Main、SomeWrapper、SomeOtherWrapper、GoodsList(例如)传递它,不要出错,只有在这之后才能呈现所有商品。现在,让我们假设我需要将onCLick添加到GoodsItem=>我需要通过所有组件传递OnGoodItemClick,修复所有测试(因为PropTypes将发出警告)和PropTypes。这有点复杂,很常规,也不太技术化,不是吗

案例2(redux(仅使用mapStateToProps、mapDispatchToProps传递需求道具)) 好的,让我们看看第二种情况:排序组件。我已经为我的组件编写了连接函数。它们看起来像这样:

const mapstateTops=(状态,ownProps)=>({
…拥有道具,
sortType:state.sortType,
allOffers:state.allOffers//allOffers仅为mapDispatchToProps导入
});
const mapDispatchToProps=(调度)=>({
onSortChange:(allOffers,sortType)=>{
调度(ActionCreator.changeSortType(sortType));
dispatch(ActionCreator.sortOffers(allOffers,sortType));//allOffers仅在此处使用
}
});
在这里,我必须接收allOffers,只为mapDispatchToProps的排序功能提供它(可能是这里的错误。正如我所知,ActionCreator无法访问存储,只能使用args)。为什么我要接收甚至不会在页面上呈现的数据


在这种情况下,开发人员会做什么?只使用一种方法?在不同的情况下同时使用?将这两种方法与修订结合起来?使用第三种方法?

“React开发人员在这种情况下会做什么?”React开发人员使用
redux toolkit
,所以他们没有这样的工具problems@DennisVash我还使用react redux工具包。没有它,我无法使用mapStateToProps和MapDispatchToprops我不这么认为。。。你有行动创造者,而不是通过切片创建行动…@hellcaster我会用它来获得一组物品。当项目不更改、排序不更改和页面/过滤器不更改时,您的选择器不应重新运行。