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

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

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

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

React.js

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

Q&A

解決済

1回答

1367閲覧

React Nativeにおけるアロー関数のオブジェクト定義エラー

howareyou1245

総合スコア20

React Native

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

React.js

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

0グッド

0クリップ

投稿2020/04/26 13:40

React Nativeの公式サイトで学習をしています。
現在、
Node.js -v13.13.0
Expo-cli -v3.19.2
を使用しています。

下記のサンプルコードをApp.jsに入力したところ、

error

1ReferenceError: SectionListBasics is not defined

とアロー関数の部分でエラーが表示されてしまいます。
アロー関数を使わずファンクションを定義すると実行可能です。
なお、Reactのパッケージ、create-react-appではアロー関数が使えていました。
これはExpoのインストールに失敗しているのでしょうか?

Javascript

1import React from 'react'; 2import { SectionList, StyleSheet, Text, View } from 'react-native'; 3 4export default SectionListBasics = () => { 5 return ( 6 <View style={styles.container}> 7 <SectionList 8 sections={[ 9 {title: 'D', data: ['Devin', 'Dan', 'Dominic']}, 10 {title: 'J', data: ['Jackson', 'James', 'Jillian', 'Jimmy', 'Joel', 'John', 'Julie']}, 11 ]} 12 renderItem={({item}) => <Text style={styles.item}>{item}</Text>} 13 renderSectionHeader={({section}) => <Text style={styles.sectionHeader}>{section.title}</Text>} 14 keyExtractor={(item, index) => index} 15 /> 16 </View> 17 ); 18} 19 20const styles = StyleSheet.create({ 21 container: { 22 flex: 1, 23 paddingTop: 22 24 }, 25 sectionHeader: { 26 paddingTop: 2, 27 paddingLeft: 10, 28 paddingRight: 10, 29 paddingBottom: 2, 30 fontSize: 14, 31 fontWeight: 'bold', 32 backgroundColor: 'rgba(247,247,247,1.0)', 33 }, 34 item: { 35 padding: 10, 36 fontSize: 18, 37 height: 44, 38 }, 39}) 40

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

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

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

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

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

guest

回答1

0

ベストアンサー

export default はアロー関数の前には付けることができません。
逆に普通の関数には付けられることを知りませんでした。

下記の通り書けばできるかと思います。

javascript

1const SectionListBasics = () => { 2 return ( 3 <View style={styles.container}> 4 <SectionList 5 sections={[ 6 {title: 'D', data: ['Devin', 'Dan', 'Dominic']}, 7 {title: 'J', data: ['Jackson', 'James', 'Jillian', 'Jimmy', 'Joel', 'John', 'Julie']}, 8 ]} 9 renderItem={({item}) => <Text style={styles.item}>{item}</Text>} 10 renderSectionHeader={({section}) => <Text style={styles.sectionHeader}>{section.title}</Text>} 11 keyExtractor={(item, index) => index} 12 /> 13 </View> 14 ); 15} 16 17export default SectionListBasics

投稿2020/04/27 09:17

nerianighthawk

総合スコア544

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

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

howareyou1245

2020/04/27 10:20

ありがとうございます。 実行出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問