[解決済み】reactのrender関数でemptyを返すことは可能ですか?
2022-04-11 06:14:23
質問
通知コンポーネントがあり、それにタイムアウトの設定をしています。タイムアウト後、私は
this.setState({isTimeout:true})
.
タイムアウトしたら、何も表示しないようにしたい。
render() {
let finalClasses = "" + (this.state.classes || "");
if (isTimeout){
return (); // here has some syntax error
}
return (<div>{this.props.children}</div>);
}
問題なのは
return (); // ここに構文エラーがあります。
解決方法は?
はい、できます。しかし、空白の代わりに、単純に
null
を必要としない場合は
render
のように、コンポーネントから何かを得ることができます。
return (null);
もう一つの重要な点は、JSX内部で要素を条件付きでレンダリングしている場合、その際に
condition=false
の場合、これらの値のいずれかを返すことができます。
false, null, undefined, true
. と同じように
DOC
:
booleans (true/false), null, and undefined
は 有効な子 , 無視されるとは、単にレンダリングされないということです。
これらはすべて
JSX
式は同じものにレンダリングされます。
<div />
<div></div>
<div>{false}</div>
<div>{null}</div>
<div>{undefined}</div>
<div>{true}</div>
例
奇数の値のみがレンダリングされ、偶数の値は
null
.
const App = ({ number }) => {
if(number%2) {
return (
<div>
Number: {number}
</div>
)
}
return (null); //===> notice here, returning null for even values
}
const data = [1,2,3,4,5,6];
ReactDOM.render(
<div>
{data.map(el => <App key={el} number={el} />)}
</div>,
document.getElementById('app')
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id='app' />
関連
-
[解決済み】Reactコンポーネント内でswitchステートメントを使用するには?
-
[解決済み】React Propsが定義されていません。
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] setStateを呼び出さずにReactコンポーネントを強制的に再レンダリングすることは可能ですか?
-
[解決済み] Reactコンポーネントに条件付きで属性を追加するにはどうすればよいですか?
-
[解決済み] Reactの "after render "コード?
-
[解決済み] JSX.ElementとReactNodeとReactElementの使い分けは?
-
[解決済み] How to avoid extra wrapping <div> in React?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Typescript react - モジュール ''react-materialize'' の宣言ファイルが見つかりませんでした。'path/to/module-name.js' は暗黙のうちに any 型を持ちます。
-
[解決済み] error 'document' is not defined : eslint / React
-
[解決済み] formcontrollabel - material-ui | Reactのデフォルトのtypography classを変更するには?
-
[解決済み] React-Router 4 キャッチオールルート
-
[解決済み] React - 予想外のトークン、予想外の;
-
[解決済み] axios-mock-adapter onGet mock data not effective.
-
[解決済み] validateDOMNesting警告React
-
[解決済み] componentWillReceivePropsライフサイクルメソッドはいつ使用するのですか?
-
[解決済み] React QueryとReduxの主な違いは何ですか?
-
[解決済み] Reactプロジェクトに.envファイルを追加する