[解決済み] Reactコンポーネントに条件付きで属性を追加するにはどうすればよいですか?
2022-03-18 23:32:17
質問
Reactコンポーネントに、ある条件を満たした場合のみ属性を追加する方法はありますか?
レンダリング後の Ajax 呼び出しに基づいて、フォーム要素に required 属性と readOnly 属性を追加することになっているのですが、この問題を解決する方法が見当たりません。
readOnly="false"
は、属性を完全に省略することとは異なります。
以下の例では、私が欲しいものを説明できるはずですが、うまくいきません。
(パースエラー:予期しない識別子)。
function MyInput({isRequired}) {
return <input classname="foo" {isRequired ? "required" : ""} />
}
解決方法は?
どうやら、特定の属性については、Reactは、あなたが属性に渡した値が真実でない場合、属性を省略するように十分にインテリジェントです。例えば
const InputComponent = function() {
const required = true;
const disabled = false;
return (
<input type="text" disabled={disabled} required={required} />
);
}
になります。
<input type="text" required>
更新しました。 この現象がどのように起こるのか、またなぜ起こるのか、ReactDOM のソースコードで詳細を見ることができます。 30 と 167 の DOMProperty.js ファイルを作成します。
関連
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
[解決済み】ReactJSでエラー発生 Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] GUID / UUIDの作成方法
-
[解決済み] React JSX内のループ
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
vueのグローバルがscss(mixin)を導入。
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
Vueのフィルタの説明
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?
-
nullのプロパティinnerHTMLを読み取れません エラーメッセージ
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules