Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 未应用样式(expo)_React Native_Styles_Expo - Fatal编程技术网

React native 未应用样式(expo)

React native 未应用样式(expo),react-native,styles,expo,React Native,Styles,Expo,我是一个新的本地人,我试图写一个应用程序,但我有一个奇怪的问题。 当应用程序加载到expo中,我导航到屏幕A或屏幕B时,我看不到应用于它们的样式。 也就是说,如果我进入代码编辑器并在屏幕A的代码上按save,然后在应用程序中我突然看到应用于屏幕A的样式,然后当我在屏幕B的代码上按save时,我看到应用于屏幕B的样式,但当我再次回到屏幕A时,我看不到应用于它的任何样式 有人知道为什么会发生这样的事情吗 这是我的密码: 屏幕A: import React, { useState, useEffect

我是一个新的本地人,我试图写一个应用程序,但我有一个奇怪的问题。 当应用程序加载到expo中,我导航到屏幕A或屏幕B时,我看不到应用于它们的样式。 也就是说,如果我进入代码编辑器并在屏幕A的代码上按save,然后在应用程序中我突然看到应用于屏幕A的样式,然后当我在屏幕B的代码上按save时,我看到应用于屏幕B的样式,但当我再次回到屏幕A时,我看不到应用于它的任何样式

有人知道为什么会发生这样的事情吗

这是我的密码:

屏幕A:

import React, { useState, useEffect, Component, useReducer } from 'react';
import { StyleSheet, Text, TouchableOpacity, View, Button  } from 'react-native';
import DateTimePickerModal from "react-native-modal-datetime-picker";
import getTicketAnalysis from "../api/TicketAnalysis"
import TicketAnalysis from '../api/TicketAnalysis';
import { set } from 'react-native-reanimated';




const TestValue = (props) => {

    const dateTimeObject = new Date();
    const current_date = dateTimeObject.toISOString().slice(0, dateTimeObject.toISOString().indexOf("T"));
    const current_time = dateTimeObject.toLocaleTimeString().slice(0,5);
    const [isDatePickerVisible, setDatePickerVisibility] = useState(false);
    const [chosenStartingTime, setStartingTime] = useState(current_time);
    const [choseStartingnDate, setStartingtDate] = useState(current_date);
    const [chosenEndingTime, setEndingTime] = useState(current_time);
    const [choseEndingnDate, setEndingDate] = useState(current_date);
    const [isStartingInfoChoosen, setStartingOption] = useState(false);
    const [response, setResponse] = useState({response:'', description:'', percent:-1, supplied_information:{request_route:'',supplied_params:{latitude:'',longitude:'',date:'',start_time:'',end_time:''}}});
    const [ isPercentDisplayed, setIsPercentDisplayed] = useState(false);
    //const [choosingEndingInfo, setEndingInfo] = useState(false);
    const [ showOtherResults, setShowOtherResults] = useState(false);



    let lon_fromScreen = props.navigation.getParam('longitude',{});
    let lat_fromScreen = props.navigation.getParam('latitude',{});
    let action = props.navigation.getParam('action',{});
    let requestInfo = {};
    let postInfo = {};
    let buttoToDisplay = '';



    if(action == 'getInfo')
    {
      if(response.supplied_information.request_route == '/gta' ||response.supplied_information.request_route == '' || showOtherResults == false)
      {
        buttoToDisplay ="Get Ticket Anylysis information";
      }
      else
      {
        buttoToDisplay = "null";
      }
    }
    else
    {
      buttoToDisplay = "Post Ticket Anylysis information";
    }

    const setRequestInfo = (i_Route)=>{
      const display = true;
      if (i_Route == "gta")
      { 
        requestInfo = {latitude:lat_fromScreen , longitude:lon_fromScreen , date: choseStartingnDate , start_time: chosenStartingTime  , end_time : chosenEndingTime};
      }
      else
      {
        requestInfo = {latitude: response.supplied_information.supplied_params.latitude , longitude: response.supplied_information.supplied_params.longitude   , date: response.supplied_information.supplied_params.date , start_time: response.supplied_information.supplied_params.start_time  , end_time : response.supplied_information.supplied_params.end_time, current_location_result:response.percent };
        
      }

      getTicketAnalysis(i_Route);
      setIsPercentDisplayed(display);

    };

    const setPostInfo = () => {
      postInfo = {latitude:lat_fromScreen , longitude:lon_fromScreen , date: choseStartingnDate , time: chosenStartingTime};
      postTicketAnalysis();
    }
  
    const postTicketAnalysis = async () => {

      try{
      const post_response = await TicketAnalysis.post('/report', postInfo);
      const temporary_response = `server description:\n ${post_response.data.description}\n\n server response: ${post_response.data.response}`;
      setResponse(post_response.data);
      }catch(err){
        const err_message = {response:"404 Bad", decription:"network error occurred"};
        setResponse(err_message);
      }
    }

    const getTicketAnalysis = async (i_Route)=>{
     const showOtherResultsButton = true;


      try{
      const get_response = await  TicketAnalysis.get(`/${i_Route}`, {params: requestInfo});
      setResponse(get_response.data);
      setShowOtherResults(showOtherResultsButton);
      }catch(err){

        const err_message = {response:"404 Bad", decription:"network error occurred", percent: -1};
        setResponse(err_message);
      }

    };

    

    const showDatePicker = () => {
      const value = true;
        setDatePickerVisibility(value);
      };
     
      const hideDatePicker = () => {
        const showOtherResultsButton = false;
        setDatePickerVisibility(false);
        setShowOtherResults(showOtherResultsButton);
      };
     
      const handleConfirm = (date) => {
    
        hideDatePicker();
        if (isStartingInfoChoosen)
        {
          let option =false;
          setStartingTime(`${date.toLocaleTimeString().slice(0,5)}`);
          setStartingtDate( date.toISOString().slice(0, date.toISOString().indexOf("T")));
          setStartingOption(option);
        }
        if(!isStartingInfoChoosen){
          setEndingTime( `${date.toLocaleTimeString().slice(0,5)}`);
          setEndingDate(date.toISOString().slice(0, date.toISOString().indexOf("T")));
          
        }
      };



      const activateTimePicker = () =>{
        showDatePicker();
  
      }

        return(
            <View>
                <Text >heyy inside TestValue</Text>
                <TouchableOpacity
                    onPress={()=>{
                      setStartingOption(true);
                      showDatePicker();}}

                    style = {styles.button}
                     >
                       {action == 'getInfo' ? <Text>Please click here to choose Starting parking Time and Date</Text> : <Text>Please click here to choose ticket time and date</Text>}
                </TouchableOpacity>

                   <Text style = {styles.text_time_style}> choosen time is: {chosenStartingTime}, chosen date is: {choseStartingnDate}</Text>

                <TouchableOpacity
                    onPress={()=>{showDatePicker();}}
                    style = {action == 'getInfo' ? styles.button: null}
                     >
                        {action == 'getInfo' ? <Text>Please click here to choose Ending parking Time and Date</Text> : null}
                </TouchableOpacity>

                      {action == 'getInfo' ?  <Text style= {styles.text_time_style}> choosen time is: {chosenEndingTime}, chosen date is: {choseEndingnDate}</Text> : null}

               <TouchableOpacity
                    onPress={()=>{ action == 'getInfo' ? setRequestInfo("gta"): setPostInfo();}}
                    style = {styles.button}
                     >
                      {buttoToDisplay != "null" && !showOtherResults ? <Text>{buttoToDisplay} </Text>  : null}
                </TouchableOpacity>

               

                <DateTimePickerModal
                isVisible={isDatePickerVisible}
                mode="datetime"
                onConfirm={handleConfirm}
                onCancel={hideDatePicker}
                />

                
                {response.supplied_information.request_route == "/gta" ? <Text style = {styles.error_Message}>{response.description}</Text> : null}

                <TouchableOpacity
                    onPress={()=>{ action == 'getInfo' ? setRequestInfo("sdl"): null;}}
                    style = {styles.button}
                     >
                        {action == 'getInfo' && showOtherResults && response.supplied_information.request_route != "/sdl"  ? <Text>Click here to get other nearby location to park</Text> : null}
                </TouchableOpacity>

                {response.supplied_information.request_route == "/sdl" && showOtherResults ? <Text style = {styles.error_Message}>{response.description}</Text> : null}

        
            </View>
        );

    

};



styles = StyleSheet.create({
  button:{
    marginTop: 20,
    borderBottomWidth:1,
    marginTop:40,
  },

  error_Message :{
    marginTop: 120,
    fontSize: 20,
    fontWeight: "bold",
    borderBottomWidth: 1,
    borderTopWidth:1,
    padding:10,
  },
  text_time_style:{
    marginTop: 20,
    borderWidth: 2,
    color:'#BE8989',
  },
});

export default TestValue;
import React,{useState,useffect,Component,useReducer}来自“React”;
从“react native”导入{样式表、文本、TouchableOpacity、视图、按钮};
从“react native Model datetime picker”导入DateTimePickerModel;
从“./api/TicketAnalysis”导入getTicketAnalysis
从“../api/TicketAnalysis”导入TicketAnalysis;
从“react native reanimated”导入{set};
const TestValue=(道具)=>{
const dateTimeObject=新日期();
const current_date=dateTimeObject.toISOString().slice(0,dateTimeObject.toISOString().indexOf(“T”);
const current_time=dateTimeObject.toLocaleTimeString().slice(0,5);
const[IsDatePickServices,SetDatePickServices]=useState(false);
const[chosenStartingTime,setStartingTime]=使用状态(当前时间);
const[choseStartingnDate,setstartingdate]=使用状态(当前_日期);
常量[chosenEndingTime,setEndingTime]=使用状态(当前时间);
const[choseEndingnDate,setEndingDate]=使用状态(当前日期);
const[IsStartingFochoosen,setStartingOption]=useState(false);
const[response,setResponse]=useState({response:'',description:'',percent:-1,提供的_信息:{request_route:'',提供的_参数:{纬度:'',经度:'',日期:'',开始时间:'',结束时间:'}});
常量[isPercentDisplayed,setIsPercentDisplayed]=useState(false);
//const[choosingEndingInfo,setEndingInfo]=useState(false);
const[showOtherResults,setShowOtherResults]=useState(false);
让lon_fromScreen=props.navigation.getParam('longitude',{});
让lat_fromScreen=props.navigation.getParam('latitude',{});
让action=props.navigation.getParam('action',{});
让requestInfo={};
设postInfo={};
让按钮显示=“”;
如果(操作=='getInfo')
{
if(response.supplied_information.request_route='/gta'| | response.supplied_information.request_route==''| | showOtherResults==false)
{
按钮显示=“获取票证信息”;
}
其他的
{
butttodisplay=“null”;
}
}
其他的
{
按钮显示=“张贴票证分析信息”;
}
const setRequestInfo=(i_路由)=>{
const display=true;
如果(i_路线==“gta”)
{ 
requestInfo={纬度:从屏幕开始的纬度,经度:从屏幕开始的经度,日期:ChoseStartingDate,开始时间:ChoseStartingTime,结束时间:ChoseEndingTime};
}
其他的
{
请求信息={纬度:response.supplied_information.supplied_params.纬度,经度:response.supplied_information.经度,日期:response.supplied_information.supplied_params.start_time,end_time:response.supplied_information.supplied_params.end_time,current_loca操作结果:响应百分比};
}
获取分析(i_路线);
setIsPercentDisplayed(显示);
};
常量setPostInfo=()=>{
postInfo={纬度:lat_fromScreen,经度:lon_fromScreen,日期:choseStartingnDate,时间:chosenStartingTime};
票证后分析();
}
const postTicketAnalysis=async()=>{
试一试{
const post_response=wait TicketAnalysis.post('/report',postInfo);
const temporary_response=`服务器描述:\n${post_response.data.description}\n\n服务器响应:${post_response.data.response}`;
setResponse(post_response.data);
}捕捉(错误){
const err_message={响应:“404坏”,说明:“发生网络错误”};
setResponse(错误消息);
}
}
const getTicketAnalysis=异步(i\U路由)=>{
const showtherresultsbutton=true;
试一试{
const get_response=wait TicketAnalysis.get(`/${i_Route}`,{params:requestInfo});
setResponse(获取响应数据);
设置ShowOtherResults(显示其他结果按钮);
}捕捉(错误){
const err_message={响应:“404错误”,说明:“发生网络错误”,百分比:-1};
setResponse(错误消息);
}
};
常量showDatePicker=()=>{
常量值=真;
SetDatePickServiceability(值);
};
常量hideDatePicker=()=>{
const showtherresultsbutton=false;
SetDatePickServiceability(false);
设置ShowOtherResults(显示其他结果按钮);
};
const handleConfirm=(日期)=>{
hideDatePicker();
如果(IsStartingFochoosen)
{
让选项=false;
setStartingTime(`date.toLocaleTimeString().slice(0,5)}`);
setStartingDate(date.toISOString().slice(0,date.toISOString().indexOf(“T”));
设置启动选项(选项);
}
如果(!IsStartingFochoosen){
setEndingTime(`date.toLocaleTimeString().slice(0,5)}`);
setEndingDate(date.toISOString().slice(0,date.toISOString().indexOf(“T”));
}
};
常数activateTimePicker=()=>{
showDatePicker();
}
返回(
heyy内部测试值
{
设置开始选项(真);
showDatePicker();}}
style={style.button}
>
{action=='getInfo'?Ple
import React, { useState, useEffect, Component, useReducer } from 'react';
import { StyleSheet, Text, TouchableOpacity, View, FlatList, Button } from 'react-native';
import DateTimePickerModal from "react-native-modal-datetime-picker";
import getTicketAnalysis from "../api/TicketAnalysis"
import TicketAnalysis from '../api/TicketAnalysis';
import { set } from 'react-native-reanimated';


const Item = ({ item, onPress, style }) => (
                 
                 <TouchableOpacity onPress={onPress} style={[styles.item, style]}>
                    <Text style={styles.title}>{item.title}</Text>
                </TouchableOpacity>
  );





const TicketDayAnalysis = (props)=>{
    
    const dateTimeObject = new Date();
    const current_date = dateTimeObject.toISOString().slice(0, dateTimeObject.toISOString().indexOf("T"));
    const [isDatePickerVisible, setDatePickerVisibility] = useState(false);
    const [wantedDate, setWantedDate] = useState(current_date);
    const [selectedId, setSelectedId] = useState("3ac68afc-c605-48d3-a4f8-fbd91aa97f63");
    const [selectedWeather,SetSelectedWeather] = useState("Sunny");
    const choosenLongitude = props.navigation.getParam('longitude',{});
    const choosenLatitude = props.navigation.getParam('latitude',{});
    

    const weatherOptions = [
        {
          id: "bd7acbea-c1b1-46c2-aed5-3ad53abb28ba",
          title: "Heat wave",
        },
        {
          id: "3ac68afc-c605-48d3-a4f8-fbd91aa97f63",
          title: "Sunny",
        },
        {
          id: "58694a0f-3da1-471f-bd96-145571e29d72",
          title: "Cloudy",
        },{
            id: "bd7acbea-c1b1-46c2-aed5-3ad53abb28bb",
            title: "Rainy",
          },
          {
            id: "3ac68afc-c605-48d3-a4f8-fbd91aa97f64",
            title: "Stormy",
          },
          {
            id: "58694a0f-3da1-471f-bd96-145571e29d73",
            title: "Windy",
          },
      ];





    

    const showDatePicker = () => {
        const value = true;

        setDatePickerVisibility(value);
        };
       
        const hideDatePicker = () => {
          const showOtherResultsButton = false;
         
          setDatePickerVisibility(false);
        };
       
        const handleConfirm = (date) => {
      
          hideDatePicker();
          setWantedDate(date.toISOString().slice(0, date.toISOString().indexOf("T")));
         
        };

        const renderItem = ({ item }) => {
            const backgroundColor = item.id === selectedId ? "#6e3b6e" : "#f9c2ff";
            const result = weatherOptions.filter(item => item.id == selectedId);
            SetSelectedWeather(result[0].title);
            return (
              <Item
                item={item}
                onPress={() => setSelectedId(item.id)}
                style={{ backgroundColor }}
              />
            );
          };


          

    return(

        <View>

            <Text>New Screen</Text>

            <TouchableOpacity
                 onPress={()=>{showDatePicker() }}
                style = {styles.dateOption}
            >
                        <Text style = {styles.textStyle}>please click here to choose the the wanted day</Text>
                    
            </TouchableOpacity>

            <View style={styles.viewStyle}>
                    <TouchableOpacity
                        onPress={()=>{}}
                    >
                        <Text style = {styles.textStyle}>please choose one of the following weather options:</Text>
                    
                    </TouchableOpacity>

                    <FlatList
                        data={weatherOptions}
                        renderItem={renderItem}
                        keyExtractor={(item) => item.id}
                        extraData={selectedId}
                    />

            <Text style ={styles.textInfo}  >choosen information is {wantedDate} : {selectedWeather}</Text>

            </View>

    


        <Button 
                onPress={()=>{props.navigation.navigate('DisplayAnalysis', {wantedDate:wantedDate,id: selectedWeather,longitude:choosenLongitude,latitude:choosenLatitude})}}
                title="Request Ticket day analysis"
                color="#841584"
                />
            


        
            <DateTimePickerModal
                isVisible={isDatePickerVisible}
                mode="date"
                onConfirm={handleConfirm}
                onCancel={hideDatePicker}
                />






        </View>


    );

};




styles = StyleSheet.create({

    dateOption:{
        margin: 20,
        borderWidth:1,
        padding:10,
        backgroundColor:'#456ba8',
    },
    textStyle:{

        fontWeight: "bold"
    },
    item: {
        padding: 10,
        marginVertical: 8,
        marginHorizontal: 16,
        width: 150,
        height: 50,

      },
      title: {
        fontSize: 16,
      },
      viewStyle:{
        width: 400,
        height: 450,
        flexDirection: 'column',
        justifyContent: 'center',
        alignItems: 'flex-start',
        backgroundColor:'#456bb8',
        
      },
      textInfo:{
        position:"absolute",
        top:40,
        right:0,
        bottom:0,
        left:200,

      },
});




export default TicketDayAnalysis;