Javascript 无法在Reactjs中有条件地呈现HTML UL
我试图通过检查项目数和“更多”按钮有条件地呈现不超过5个列表。当我传入5个Javascript 无法在Reactjs中有条件地呈现HTML UL,javascript,reactjs,Javascript,Reactjs,我试图通过检查项目数和“更多”按钮有条件地呈现不超过5个列表。当我传入5个li项目时,它将其呈现为文本而不是HTML元素 让sectionCount=0; 从最大计数到显示的常数=5; const getAssets=data=>{ 让资产=“”; 设指数=0; 对于(数据的var资产){ 如果(索引{ 如果(info.ic>MAX\u COUNT\u TO\u SHOW){ 返回( {info.name}应命名为{info.label} {info.ic}实例因命名不当而被定位 {getA
li
项目时,它将其呈现为文本而不是HTML元素
让sectionCount=0;
从最大计数到显示的常数=5;
const getAssets=data=>{
让资产=“”;
设指数=0;
对于(数据的var资产){
如果(索引<最大计数到显示){
资产+=“- ”+不当资产+“
”;
}
索引++;
}
资产+=“
”;
控制台日志(资产);
返回{资产};
};
const getSectionBody=info=>{
如果(info.ic>MAX\u COUNT\u TO\u SHOW){
返回(
{info.name}应命名为{info.label}
{info.ic}实例因命名不当而被定位
{getAssets(info.data)}
openDialog(信息[“数据])}>
显示更多
);
}否则{
返回(
{info.name}应命名为{info.label}
{info.ic}实例因命名不当而被定位
{getAssets(info.data)}
);
}
};
常量isCollapsible=()=>{
如果(sectionCount==0){
sectionCount++;
返回true;
}否则{
返回false;
}
};
const openDialog=useCallback(
数据=>{
SetAssetInfo(数据);
setClosed(假);
},
[会议结束]
);
返回(
定制
{myData.map(信息=>{
返回(
{getSectionBody(信息)}
);
})}
);
这是因为您将数据作为字符串传递,而不是实际的JSX元素。虽然你可以做到这一点,但这几乎永远都不是一个好主意 猫的皮肤有很多种方法,但要考虑下面的<
const getAssets = data => {
return
(
<div>
<ul>
{data.slice(0,5).map((improperAsset) => (<li>{improperAsset}</li>))}
</ul>
</div>
);
};
const getAssets=data=>{
返回
(
{data.slice(0,5).map((improperAsset)=>(- {improperAsset}
)}
);
};
如果您的“improperAsset”包含html并且需要呈现为html,我会考虑把这些不适当的资产移到单独的组件中,或者使用一个库来处理HTML解析,否则你会在网站中引入跨站点脚本漏洞的严重风险。 < P>这是因为你把数据作为一个字符串传递而不是实际的JSX元素。虽然你可以做到这一点,但这几乎永远都不是一个好主意 猫的皮肤有很多种方法,但要考虑下面的<
const getAssets = data => {
return
(
<div>
<ul>
{data.slice(0,5).map((improperAsset) => (<li>{improperAsset}</li>))}
</ul>
</div>
);
};
const getAssets=data=>{
返回
(
{data.slice(0,5).map((improperAsset)=>(- {improperAsset}
)}
);
};
如果您的“improperAsset”包含html并且需要呈现为html,我会考虑把这些不适当的资产移到单独的组件中,或者使用一个库来处理HTML解析,否则你会在网站中引入跨站点脚本漏洞的严重风险。 < P>如果你想这样做,你可以使用,但是如前所述,这可能会将代码暴露到./P>
返回;
如果您想这样做,您可以使用,但如前所述,这可能会将您的代码暴露给用户
返回;
Always,like,Always,请提供一种或某种形式的反应@谢谢你调查我的问题。我发布的代码使用了我无法发布的内部库,例如:节、容器等。这就是为什么我没有给出一个工作示例的原因。在不使用内部LIB的情况下,我会尽量提供可复制的代码。是否有任何简单的PoC?因为没有必要的信息是很难调试的。总是,像总是提供一个或一些形式的反应,请@谢谢你调查我的问题。我发布的代码使用了我无法发布的内部库,例如:节、容器等。这就是为什么我没有给出一个工作示例的原因。在不使用内部LIB的情况下,我会尽量提供可复制的代码。是否有任何简单的PoC?因为没有必要的信息就很难调试。