Изменение цвета значка тоста в React - PullRequest
0 голосов
/ 10 марта 2020

Я бы хотел поменять иконку компонента 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>
  );
}

1 Ответ

1 голос
/ 10 марта 2020

Вы можете установить переменную tag внутри функции map.

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>
        );

}
...