[解決済み】Warning.Itが表示されるのはなぜですか?Functions are not valid as a React child?
2022-02-19 18:25:59
質問
mapメソッドの結果を返すメソッドを呼び出そうとすると、以下のエラーが発生します。
Warning: Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render
が、なぜかわからない。以下は私のコードです。
renderAlbums() {
return this.state.albums.map(album => <Text>{ album.title }</Text>);
}
render() {
return (
<View>
{ this.renderAlbums }
</View>
);
}
しかし、上記のコードでは、問題がどこから来るのかがわかりません。しかし、私の
render()
メソッドで、私の
map()
メソッドを実行すると、すべてがうまくいきます。
render() {
const c=this.state.albums.map(album => <Text>{ album.title }</Text>);
return (
<View>
{ c }
</View>
);
}
なぜうまくいかないのか理解したいです。レンダーを呼び出すと
renderAlbums()
メソッドはここで
<View>{ this.renderAlbums }</View>
.
そして、さらに奇妙に思えるのは、私が
renderAlbums()
このように
<View>{ this.renderAlbums() }</View>
を括弧で囲むと動作します。
解決方法は?
<ブロッククオート警告 関数はReactの子として有効ではありません。これは、レンダーからではなく、Component を返した場合に発生する可能性があります。
基本的に、Reactは
React Elements
をレンダリングします。
現在のスクリプトでは
this.renderAlbums
は
関数参照
を返さない
React Element
.Function自体はreact要素ではないので、Reactはこの関数をレンダリングできません。
this.renderAlbums
.
<View>
{ this.renderAlbums }
</View>
をクリックします。
<View>
{ this.renderAlbums() } //it will return react element which can be rendered.
</View>
関連
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】ngrokがReact devサーバーに接続しようとすると、無効なホストヘッダが表示される。
-
[解決済み] Next.jsでWebSocketを利用する
-
[解決済み] Webpack のコンパイルに失敗した
-
[解決済み] react-navigation v5を使ったreact-nativeアプリのAppNavigatorの構文を更新する。
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
-
[解決済み] setStateを呼び出さずにReactコンポーネントを強制的に再レンダリングすることは可能ですか?
-
[解決済み] Reduxの非同期フローになぜミドルウェアが必要なのか?
-
[解決済み] レンダリング後に入力フィールドにフォーカスを設定するには?
-
[解決済み】ReactJS - "setState "が呼ばれるたびにrenderが呼び出されるのですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】React - 式は1つの親要素を持つ必要がありますか?
-
[解決済み】無効な設定オブジェクトです。APIスキーマと一致しない設定オブジェクトを使用してWebpackが初期化されました。
-
[解決済み】Reactを使用したMapBoxのCSSが欠落している件
-
[解決済み】ngrokがReact devサーバーに接続しようとすると、無効なホストヘッダが表示される。
-
[解決済み] テスト
-
[解決済み】プリセットファイルはオブジェクトのエクスポートができない
-
[解決済み] Next.jsでWebSocketを利用する
-
[解決済み] sh: react-scripts: npm start の実行後にコマンドが見つからない。
-
[解決済み] ReactJS で inst.render が関数でないエラーが発生する
-
[解決済み] 矢印本体を囲む予期せぬブロックステートメント