アイテムのリストを条件付きでレンダリングするには良い方法があると思っていました。 、醜いhtmlレンダリングのオプションパーツのベストプラクティス
text = (
\t <div>Orange fields are not mandatory, are you sure you want to submit without :
\t \t <ul>
\t \t \t {(() => {
\t \t \t \t if (e.infos.error === "warning")
\t \t \t \t \t return <li>informations</li>
\t \t \t })()}
\t \t \t {(() => {
\t \t \t \t if (e.links.error === "warning")
\t \t \t \t \t return <li>links</li>
\t \t \t })()}
\t \t \t {(() => {
\t \t \t \t if (e.file.error === "warning")
\t \t \t \t \t return <li>file</li>
\t \t \t })()}
\t \t </ul>
\t </div>);
:警告があるかどう基本的に私は警告メッセージをレンダリングするには、私はここに私の現在のアプローチであり、すべての問題のリストを含むようにメッセージをレンダリングしたいですしかし、私は何かをテストしたかったので、私が撮った別のアプローチは、そのようなものだった:
function optionalWarning(props) {
if (props.error === "warning")
return <li>{props.message}</li>;
return null;
}
....
text = (
\t <div>Orange fields are not mandatory, are you sure you want to submit without :
\t \t <ul>
<optionalWarning error="e.infos.error" message="informations" />
<optionalWarning error="e.links.error" message="links" />
<optionalWarning error="e.file.error" message="file" />
\t \t </ul>
\t </div>);
これはきれいですが、私はそれを行うために外部機能を持たなければならないという事実が気に入らず、ベストプラクティスは第2のものだと思いますが、他の方法がありますか?
それはずっとおしゃれですが、私はそれを探している間に、そのような例を見つけていませんでしたが、どうもありがとうございました(と他の人^^)、私はあなたの答えを最初のものとして受け入れます。 – moo