Javascript 无法在Reactjs中有条件地呈现HTML UL

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

我试图通过检查项目数和“更多”按钮有条件地呈现不超过5个列表。当我传入5个
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?因为没有必要的信息就很难调试。