在 React 中有条件地更改 Toast 图标颜色

Change Toast icon color conditional in React

我想更改图标 os 使用条件的 toast 组件。我正在尝试使用三元运算符来执行此操作,但无法正常工作。 谁能帮帮我吗? 我有以下想法:

renderResultadoManifestacao(){
  var tag = '';
  const listItems = this.state.resultList.map((d) => 
  //<li key={d.name}>{d.name}</li>);
    <Toast>
      {d.success == true ? tag = "success" : tag = "error" }
      <ToastHeader icon = {tag}> {d.chaveAcesso} </ToastHeader>
      <ToastBody>
        {d.resultado.map((r) =>
          <li key={r}>{r}</li>
        )}
      </ToastBody>
    </Toast>
  );

  return (
    <div>
      {listItems }
    </div>
  );
}

您可以在 map 的函数中设置 tag 变量。

renderResultadoManifestacao(){
        const listItems = this.state.resultList.map((d) => {
            var tag = d.success ? "success" : "error";
            return <Toast>
                {tag}
                <ToastHeader icon = {tag}> {d.chaveAcesso} </ToastHeader>
                <ToastBody>
                    {d.resultado.map((r) =>
                        <li key={r}>{r}</li>
                    )}
                </ToastBody>
             </Toast>
        });

        return (
            <div>
                {listItems}
            </div>
        );

}