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

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

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

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

1回答

1329閲覧

Element type is invalid: のエラーを解消したい

romutsu

総合スコア1

React Native

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2020/06/08 13:30

Typescript

1import React, {Component} from 'react'; 2import {Platform, StyleSheet, Text, View} from 'react-native'; 3import {TodoInput} from './src/component/ToDoInput'; 4 5export const App = () => { 6 return ( 7 <View style={styles.container}> 8 <View style={styles.main}> 9 <TodoInput /> 10 </View> 11 </View> 12 ); 13}; 14 15const styles = StyleSheet.create({ 16 container: { 17 flex: 1, 18 backgroundColor: '#333', 19 paddingTop: 40, 20 alignItems: 'center', 21 }, 22 main: { 23 flex: 1, 24 maxWidth: 400, 25 alignItems: 'center', 26 }, 27}); 28

TypeScript

1import React, {Component} from 'react'; 2import { 3 View, 4 Text, 5 TouchableOpacity, 6 TextInput, 7 StyleSheet, 8} from 'react-native'; 9 10export const TodoInput = () => { 11 return ( 12 <View style={styles.container}> 13 <TextInput style={styles.textInput} /> 14 <TouchableOpacity style={styles.button}> 15 <Text style={styles.buttonText}>追加</Text> 16 </TouchableOpacity> 17 </View> 18 ); 19}; 20 21const styles = StyleSheet.create({ 22 container: { 23 flexDirection: 'row', 24 padding: 20, 25 }, 26 textInput: { 27 flex: 3, 28 backgroundColor: '#FFF', 29 marginRight: 5, 30 }, 31 button: { 32 flex: 1, 33 backgroundColor: '#008080', 34 marginLeft: 5, 35 alignItems: 'center', 36 justifyContent: 'center', 37 paddingTop: 10, 38 paddingBottom: 10, 39 }, 40 buttonText: { 41 color: '#FFF', 42 fontWeight: '500', 43 }, 44}); 45

上記のコードから以下のエラーが出ます。
イメージ説明

ざっくりな説明になってしまい、恐縮ですがご回答宜しくお願いいたします。

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

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

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

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

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

guest

回答1

0

App.ts (かな?) で

TypeScript

1export const App = () => { 2 // 略 3};

としてますが、一般的な index.js は

js

1import App from './App';

となっていると思いますので、App.ts では export default を使って

TypeScript

1const App = () => { 2 // 略 3}; 4 5export default App;

とする必要があると思います。React のコンポーネントは export default するのが一般的なので。
(TodoInput に関しても同様です。こちらは export と import が合ってるので、そのままでも動くとは思いますが、一般的な習慣に合わせておくことをお勧めします。)

参考: export defaultってなんだろう - Qiita
参考: ES6のexportについて詳しく調べた - Qiita

投稿2020/06/08 23:26

hoshi-takanori

総合スコア7895

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問