質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

2回答

879閲覧

ReactNativeでの単一のreturnについて

momiji0210

総合スコア60

React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

1クリップ

投稿2020/01/16 11:32

ReactNaitiveで関数を用意して単一のタグをreturnしたいです。
このようなことはできないのでしょうか。

mapを使ってループしている処理があるのですが、
この中で中身によってViewのスタイルを変更したいです。

個別に書くと長くなるため、
単一のタグだけ返すような関数を用意したいです。

ReactNaitive

1 2 // これだとエラーがでる 3 test1(){ 4 return (<View>) 5 } 6 7 // タグを閉じるとエラーがでない 8 test1(){ 9 return (<View></View>) 10 } 11

Error: TransformError SyntaxError:******: Unexpected reserved word 'let' (355:4)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

単一のタグだけを返すのは不可能です。

もしスタイルを変更したいだけなら、以下のようにスタイルを変更するのはどうでしょうか?

js

1import React, { Component } from 'react'; 2import {View} from 'react-native'; 3 4export default class App extends Component { 5 render() { 6 let colorList = ["red","yellow","blue"] 7 return ( 8 <View> 9 {colorList.map(c => { 10 return( 11       //colorListの値をcに代入してその値に応じて背景色を変更している 12 <View style={{width:100,height:100,backgroundColor:c}}/> 13 ) 14 })} 15 </View> 16 ); 17 } 18}

投稿2020/01/17 02:28

kimkim

総合スコア142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

momiji0210

2020/01/20 08:00

返信おそくなって申し訳ないです。 ご回答ありがとうございます。確かに単一ならその方法が一番キレイそうですね。 こちら発想がなかったので助かりました。 やりたかったこととして、2つのViewおきにflexDirection: 'row'で囲みたかったです。 そのため、mapを使った方法ではできず、Viewで締めるタイミングを制御したかったです。 Viewがn個ある 1 2 3 4 5 6 n みたいな感じの配列にしたかったため、かなりややこしくなってしまいました。
guest

0

以下の感じでいけるかと思います!

test1(){ return <View />; }

投稿2020/01/16 12:32

編集2020/01/16 12:33
kiddayo

総合スコア240

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

momiji0210

2020/01/16 19:57

こちらありがとうございます。 コメント頂いた方法だと、閉じるタグを入れない場合エラーがでてしまいます。 this.test1() // <View> this.renderhoge() this.renderhoge() this.test2() // <View /> みたいなことをやりたいため、閉じる場所を明示したいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問