Reactjs 缩短此代码的方法
有没有办法缩短这个代码? 唯一的区别是我希望在索引0处显示'All'而不是数组值 或者是多种情况?比如在索引=0时,做这个,索引是%2,做这个,最后一个索引,做这个 我也找到了同样的解决办法。 我现在有另一个问题 我想在onClick中的两个函数之间进行选择Reactjs 缩短此代码的方法,reactjs,typescript,Reactjs,Typescript,有没有办法缩短这个代码? 唯一的区别是我希望在索引0处显示'All'而不是数组值 或者是多种情况?比如在索引=0时,做这个,索引是%2,做这个,最后一个索引,做这个 我也找到了同样的解决办法。 我现在有另一个问题 我想在onClick中的两个函数之间进行选择 <a onClick={()=>{AddNewBookmark(userId, newsId); this.changeBookmarkState(isBookmarked, bookmarkIndex);}}> {Ad
<a onClick={()=>{AddNewBookmark(userId, newsId); this.changeBookmarkState(isBookmarked, bookmarkIndex);}}>
{AddNewBookmark(userId,newsId);this.changeBookmarkState(isbookmark,bookmarkIndex);}>
我希望is index==0使用AddNewBookmark(userId,newsId),或者如果index==1,则使用RemoveBookmark(userId,newsId)
{index==0?AddNewBookmark(用户ID,新闻ID):
RemoveBookmark(userId,newsId);this.changeBookmarkState(isBookmarked,
书签索引);}}>
我希望无论什么索引值都包含changebookmarkstate
不知怎的,我的尝试没有成功。有什么建议吗?您的代码似乎不完整,所以我不能确定,但您可以根据需要使用以下代码 可以在数组的开头插入新索引
isFiltered.unshift['All'];
if (isFiltered[index]){
return (
<div key={index}>
<span>{ category['Name']}</span>
</div>
);
}
isFiltered.unshift['All'];
如果(已筛选[索引]){
返回(
{category['Name']}
);
}
您的代码似乎不完整,所以我不能确定,但您可以根据需要使用以下代码
可以在数组的开头插入新索引
isFiltered.unshift['All'];
if (isFiltered[index]){
return (
<div key={index}>
<span>{ category['Name']}</span>
</div>
);
}
isFiltered.unshift['All'];
如果(已筛选[索引]){
返回(
{category['Name']}
);
}
代码的最短形式如下:
isFiltered[index] && return (
<div key={index}>
<span">{ index ? "ALL" : category['Name'] }</span>
</div>
);
helperFucntion(index: number) => (
index == 0 ? "All" : category['Name']
)
isFiltered[index] && (
<div key={index}>
<span>{helperFunction(index)}</span>
</div>
);
isFiltered[索引]&返回(
代码的最短形式如下所示:
isFiltered[index] && return (
<div key={index}>
<span">{ index ? "ALL" : category['Name'] }</span>
</div>
);
helperFucntion(index: number) => (
index == 0 ? "All" : category['Name']
)
isFiltered[index] && (
<div key={index}>
<span>{helperFunction(index)}</span>
</div>
);
isFiltered[索引]&返回(
由于您所做的只是更改在范围中呈现的内容,因此可以在范围内的JSX中执行逻辑
这应该起作用:
isFiltered[index] && (
<div key={index}>
<span>{index == 0 ? "All" : category['Name']}</span>
</div>
);
isFiltered[index]&&(
{index==0?“全部”:类别['Name']}
);
您还可以将此逻辑提取到一个函数中,然后在范围中调用该函数。如果您最终希望在该范围中显示一系列不同的结果,这将更加简洁。类似于以下内容:
isFiltered[index] && return (
<div key={index}>
<span">{ index ? "ALL" : category['Name'] }</span>
</div>
);
helperFucntion(index: number) => (
index == 0 ? "All" : category['Name']
)
isFiltered[index] && (
<div key={index}>
<span>{helperFunction(index)}</span>
</div>
);
helperfuntion(索引:number)=>(
索引==0?“全部”:类别['Name']
)
isFiltered[索引]&(
{helperFunction(index)}
);
因为您所做的只是更改span中呈现的内容,所以您可以在span中的JSX中执行逻辑
这应该起作用:
isFiltered[index] && (
<div key={index}>
<span>{index == 0 ? "All" : category['Name']}</span>
</div>
);
isFiltered[index]&&(
{index==0?“全部”:类别['Name']}
);
您还可以将此逻辑提取到一个函数中,然后在范围中调用该函数。如果您最终希望在该范围中显示一系列不同的结果,这将更加简洁。类似于以下内容:
isFiltered[index] && return (
<div key={index}>
<span">{ index ? "ALL" : category['Name'] }</span>
</div>
);
helperFucntion(index: number) => (
index == 0 ? "All" : category['Name']
)
isFiltered[index] && (
<div key={index}>
<span>{helperFunction(index)}</span>
</div>
);
helperfuntion(索引:number)=>(
索引==0?“全部”:类别['Name']
)
isFiltered[索引]&(
{helperFunction(index)}
);
调用API将从数据库中删除记录不要完全重新编辑问题-删除并创建新问题您最好在以后的网站上提出此类问题。这不是离题,但该网站致力于改进现有的工作代码。调用API将从数据库中删除记录不要完全重新编辑问题-删除e并创建一个新的。你最好在以后的网站上问这样的问题。这不是离题,但该网站致力于改进已经运行的代码。它将忽略索引0上的第一个类别名称。我不知道业务逻辑,我只是缩短了Khoa的代码。我只是想让第一列显示ay“all”和其余类别名称。这意味着我希望它为索引0选择“all”,其余的“name”更改模板如下:它将忽略索引0上的第一个类别名称。我不知道业务逻辑,我只是缩短了Khoa的代码。例如,我只希望第一列显示“all”还有rest类别名称。这意味着我希望它为索引0选择“全部”,其余的“名称”像这样更改模板:这对选择函数有用吗?调用的==?:运算符是什么?它是一个三元运算符。与使用相同的结果:if(index==0){return“All”}else{return category['name']}
if(index==0){return“All”}else{return category['Name']}调用的==?:运算符是什么?它是一个三元运算符。结果与使用时相同:if(index==0){return“All”}else{return category['Name']}