Reactjs 反应重复。Redux状态更改,但页面上的数据未刷新
我是Redux的新员工,一般来说对React很不称职。对不起,如果这是一个愚蠢的问题 我有一个简单的数据表。我点击了标题和数据,但这些变化并没有显示在页面上。数据只显示一次,不会重新渲染 身体Reactjs 反应重复。Redux状态更改,但页面上的数据未刷新,reactjs,redux,Reactjs,Redux,我是Redux的新员工,一般来说对React很不称职。对不起,如果这是一个愚蠢的问题 我有一个简单的数据表。我点击了标题和数据,但这些变化并没有显示在页面上。数据只显示一次,不会重新渲染 身体 让我们的身体=({filteredar})=>{ 返回( {Filteredar.map(元素=> {element.company} {element.balance} {element.registered} {element.address.country} {element.employers.l
让我们的身体=({filteredar})=>{
返回(
{Filteredar.map(元素=>
{element.company}
{element.balance}
{element.registered}
{element.address.country}
{element.employers.length}
--
)}
)
}
常量mapStateToProps=(状态)=>{
返回{
filteredArr:getSortedCompanies(state.json、state.sortCompany)
};
}
导出默认连接(MapStateTops)(我们的主体)代码>由于您正在使用排序
对数据进行排序,因此它会在原始引用处对数据进行排序,更新时,MapStateTops返回的数据具有相同的引用。现在,当connect从MapStateTrops接受此数据时,它不会触发重新渲染,因为根据它,数据没有更改
在排序时克隆数据是可行的
//getSortedCompanies
export default (json, sortCompany) => {
if (sortCompany === null) {
console.log(sortCompany);
return json;
} else if (sortCompany) {
console.log(sortCompany);
return [...json].sort((a, b) => {
if (a.company.toLowerCase() < b.company.toLowerCase()) {
return 1;
} else {
return -1;
}
});
} else {
return [...json].sort((a, b) => {
if (a.company.toLowerCase() > b.company.toLowerCase()) {
return 1;
} else {
return -1;
}
});
}
};
//getSortedCompanies
导出默认值(json,sortCompany)=>{
if(sortCompany===null){
控制台日志(sortCompany);
返回json;
}否则如果(sortCompany){
控制台日志(sortCompany);
return[…json].sort((a,b)=>{
if(a.company.toLowerCase(){
if(a.company.toLowerCase()>b.company.toLowerCase()){
返回1;
}否则{
返回-1;
}
});
}
};
您的代码似乎没有被推送到您的应用商店。您确定您的代码更新了应用商店吗?另外,您提供的URL不包含您的代码,只包含通用的CreateReact应用程序代码。哦,我的错误。更新回购协议。非常感谢!干得好