Quantcast
Channel: Active questions tagged react-native+ios - Stack Overflow
Viewing all articles
Browse latest Browse all 16899

Is there a way to export default 2 constants?

$
0
0

Note: I am a beginner learning React Native. I have two js files (Inputs.js and Styles.js) and I am trying to put them both in a const in my main js file (App.js) but I can only export default one of them. Is there a way I can export both of them or should I rearrange my code in another way?

App.js:

import React from 'react';import { StyleSheet, Text, View } from 'react-native';const Home1 = () => {   return (<Style/>   )}const Home2 = () =>{   return (<Inputs />   )}export default Home1; //I am unable to export both Home1 and Home2 here

Style.js:

import React, { Component } from 'react';import { View, Text, Image, StyleSheet } from 'react-native'const Style = () => {    return ( <View style = {styles.container}><Text style = {styles.text}><Text style = {styles.capitalLetter}>               Title Here</Text><Text><Text style = {styles.textInput}> {"\n"} {"\n"}{"\n"}Location: </Text></Text><Text><Text style = {styles.textInput}> {"\n"} {"\n"}Time:</Text></Text><Text><Text style = {styles.textInput}> {"\n"} {"\n"}Time: </Text></Text></Text></View>   )}export default Styleconst styles = StyleSheet.create ({   container: {      //alignItems: 'center',      marginTop: 50,   },   text: {      color: '#41cdf4',   },   capitalLetter: {      color: 'red',      fontSize: 20   },   textInput: {      padding: 22,      //fontWeight: 'bold',      color: 'black'   },   textShadow: {      textShadowColor: 'red',      textShadowOffset: { width: 2, height: 2 },      textShadowRadius : 5   }})

Inputs.js:

import React, { Component } from 'react'import { View, Text, TouchableOpacity, TextInput, StyleSheet } from 'react-native'class Inputs extends Component {   state = {      email: '',      password: ''   }   handleEmail = (text) => {      this.setState({ email: text })   }   handlePassword = (text) => {      this.setState({ password: text })   }   login = (email, pass) => {      alert('email: '+ email +' password: '+ pass)   }   render(){      return (<View style = {styles.container}><TextInput style = {styles.input}               underlineColorAndroid = "transparent"               placeholder = "Email"               placeholderTextColor = "#9a73ef"               autoCapitalize = "none"               onChangeText = {this.handleEmail}/><TextInput style = {styles.input}               underlineColorAndroid = "transparent"               placeholder = "Password"               placeholderTextColor = "#9a73ef"               autoCapitalize = "none"               onChangeText = {this.handlePassword}/><TouchableOpacity               style = {styles.submitButton}               onPress = { () => this.login(this.state.email, this.state.password)}><Text style = {styles.submitButtonText}>                  Submit</Text></TouchableOpacity></View>      )   }}export default Inputsconst styles = StyleSheet.create({   container: {      paddingTop: 200   },   input: {      margin: 15,      height: 40,      borderColor: '#7a42f4',      borderWidth: 1   },   submitButton: {      backgroundColor: '#7a42f4',      padding: 10,      margin: 15,      height: 40,   },   submitButtonText:{      color: 'white'   }})

****UPDATED CODE BELOW for the error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.:*****

App.js:

import React from 'react';import { StyleSheet, Text, View } from 'react-native';module.exports = {   Home1() {    return (<Style/>    );  },   Home2() {    return (<Inputs/>    );  } }; 

Style.js

import React, { Component } from 'react';import { View, Text, Image, StyleSheet } from 'react-native'import { Inputs } from "./App.js"import Home1, {Home2} from './App.js'const Style = () => {    return ( <View style = {styles.container}><Text style = {styles.text}><Text style = {styles.capitalLetter}>               Title Here</Text><Text><Text style = {styles.textInput}> {"\n"} {"\n"}{"\n"}Your address or location (eg, Nashville, TN): </Text></Text><Text><Text style = {styles.textInput}> {"\n"} {"\n"}Contact 2:</Text></Text><Text><Text style = {styles.textInput}> {"\n"} {"\n"}Contact 3: </Text></Text></Text></View>   )}export default Styleconst styles = StyleSheet.create ({   container: {      //alignItems: 'center',      marginTop: 50,   },   text: {      color: '#41cdf4',   },   capitalLetter: {      color: 'red',      fontSize: 20   },   textInput: {      padding: 22,      //fontWeight: 'bold',      color: 'black'   },   textShadow: {      textShadowColor: 'red',      textShadowOffset: { width: 2, height: 2 },      textShadowRadius : 5   }})

Inputs.js

import React, { Component } from 'react'import { View, Text, TouchableOpacity, TextInput, StyleSheet } from 'react-native'//import { Style } from "./App.js"import Home1, {Home2} from './App.js'class Inputs extends Component {   state = {      email: '',      password: ''   }   handleEmail = (text) => {      this.setState({ Location: text })   }   handlePassword = (text) => {      this.setState({ Time: text })   }   login = (email, time1) => {      alert('Location: '+ email  +' Time: '+ time1)   }   render(){      return (<View style = {styles.container}><TextInput style = {styles.input}               underlineColorAndroid = "transparent"               placeholder = "Location"               placeholderTextColor = "#9a73ef"               autoCapitalize = "none"               onChangeText = {this.handleEmail}/><TextInput style = {styles.input}               underlineColorAndroid = "transparent"               placeholder = "Time"               placeholderTextColor = "#9a73ef"               autoCapitalize = "none"               onChangeText = {this.handlePassword}/><TouchableOpacity               style = {styles.submitButton}               onPress = { () => this.login(this.state.email, this.state.password)}><Text style = {styles.submitButtonText}>                  Submit</Text></TouchableOpacity></View>      )   }}export default Inputsconst styles = StyleSheet.create({   container: {      paddingTop: 200   },   input: {      margin: 15,      height: 40,      borderColor: '#7a42f4',      borderWidth: 1   },   submitButton: {      backgroundColor: '#7a42f4',      padding: 10,      margin: 15,      height: 40,   },   submitButtonText:{      color: 'white'   }})

Viewing all articles
Browse latest Browse all 16899

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>