反应,在(map)内的.map内使用<br>

DDa*_*ave 0 reactjs

我知道在反应中您不能<html>像字符串一样使用,我正在寻找一种解决方案,但我不清楚,在这种复杂的逻辑中如何可以插入<br/>对象而不是字符串,因为变量'newvalue'需要存储并有条件地将br添加到行中的单独元素。

  let values = JSON.parse(value);
  let newvalue = '';
  values.map((item) => {
    for (const key in listViewField.subfields) {
      let nameField = key;
      if (typeof item[nameField] !=='undefined') {
        newvalue += item[nameField]+ ' ';
      }
    }
    // if (newvalue.trim() !=='') newvalue += '<br/>'; // doesn't work
  });
  value = newvalue;
  return <div key={keyIndex}>{value}</div>;
Run Code Online (Sandbox Code Playgroud)

Dan*_*nce 5

除了使用map之外,您还可以遍历值并将其推入数组。

let values = JSON.parse(value);
let contents = [];

for (let value of values) {
  contents.push(<span key={value.key}>{value.name}</span>);

  if (value.condition) {
    contents.push(<br key={`${value.key}-br`} />);
  }
});

return <div>{contents}</div>;
Run Code Online (Sandbox Code Playgroud)

不要忘记为每个项目添加唯一的密钥。