diff --git a/App.js b/App.js
index 09f879b..2cd8564 100644
--- a/App.js
+++ b/App.js
@@ -1,15 +1,40 @@
+import React, { Component } from 'react'; // Bei React bzw. Nativ immer importieren!
import { StatusBar } from 'expo-status-bar';
-import { StyleSheet, Text, View } from 'react-native';
+import { Button, StyleSheet, Text, View } from 'react-native';
-export default function App() {
- return (
-
- Open up App.js to start working on your app!
-
-
- );
+import Quote from './js/components/Quote';
+
+const data = [
+ { text: "Zitat1", author: "Author 1" },
+ { text: "Zitat2", author: "Author 2" },
+ { text: "Zitat3", author: "Author 3" },
+ { text: "Zitat4", author: "Author 4" },
+ { text: "Zitat5", author: "Author 5" },
+];
+export default class App extends Component {
+ state = { index: 0 }; //initialer Zustand
+
+ // Darstellung der Komponente im UI
+ // Render wird automatisch ausgeführt
+ // a) Komponente erscheint im Ui (initialer Zustand)
+ // b) Zustand ändert sich (state) => this.setstate(...)
+ render() {
+ let index = this.state.index;
+ const quote = data[index];
+ let nextIndex = index + 1;
+ if (nextIndex === data.length) nextIndex = 0;
+ return (
+ //JSX
+
+
+
+ );
+ }
}
+//Aussehen und Layout
const styles = StyleSheet.create({
container: {
flex: 1,
diff --git a/App_plane.js b/App_plane.js
new file mode 100644
index 0000000..9a7b795
--- /dev/null
+++ b/App_plane.js
@@ -0,0 +1,44 @@
+import React, { Component } from 'react'; // Bei React bzw. Nativ immer importieren!
+import { StatusBar } from 'expo-status-bar';
+import { Button, StyleSheet, Text, View } from 'react-native';
+
+const data = [
+ { text: "Zitat1", author: "Author 1" },
+ { text: "Zitat2", author: "Author 2" },
+ { text: "Zitat3", author: "Author 3" },
+ { text: "Zitat4", author: "Author 4" },
+ { text: "Zitat5", author: "Author 5" },
+];
+export default class App extends Component {
+ state = { index: 0 }; //initialer Zustand
+
+ // Darstellung der Komponente im UI
+ // Render wird automatisch ausgeführt
+ // a) Komponente erscheint im Ui (initialer Zustand)
+ // b) Zustand ändert sich (state) => this.setstate(...)
+ render() {
+ let index = this.state.index;
+ const quote = data[index];
+ let nextIndex = index + 1;
+ if (nextIndex === data.length) nextIndex = 0;
+ return (
+ //JSX
+
+ {quote.text}
+ -- {quote.author}
+
+ );
+ }
+}
+
+//Aussehen und Layout
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: '#fff',
+ alignItems: 'center',
+ justifyContent: 'center',
+ },
+});
diff --git a/js/components/Quote.js b/js/components/Quote.js
new file mode 100644
index 0000000..9758127
--- /dev/null
+++ b/js/components/Quote.js
@@ -0,0 +1,12 @@
+import React, { Component, Fragment } from 'react';
+import { Text } from 'react-native'
+
+export default class Quote extends Component {
+ render() {
+ return (
+
+ {this.props.text}
+ {this.props.author}
+ );
+ }
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index ba3e211..9f33d88 100644
--- a/package.json
+++ b/package.json
@@ -3,11 +3,12 @@
"version": "1.0.0",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
- "start": "expo start",
+ "start": "set NODE_OPTIONS=--openssl-legacy-provider && expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
- "eject": "expo eject"
+ "eject": "expo eject",
+ "build": "export NODE_OPTIONS=--openssl-legacy-provider; gatsby build"
},
"dependencies": {
"expo": "~44.0.0",
@@ -21,4 +22,4 @@
"@babel/core": "^7.12.9"
},
"private": true
-}
+}
\ No newline at end of file