Реагируйте Нативно, Представление Не Работает С Утверждением If

#android #ios #reactjs #react-native

Вопрос:

                 onValueChange={(itemValue) => {
                    setSelectedValue(itemValue); 
                    if(itemValue == 'other'){
                        alert('You Choose: ' itemValue ' Nice')
                        
                        return(
                            // The <View> Doesnt Work Why ????
                            <View style={{backgroundColor:'red',height:5000,width:5000,}}>
                                <Text>Anas</Text>
                            </View>
                        )
                        
                    }
                    
                }}
 

Почему Это Не Работает ????
я не могу вставить это в заявление или я могу ?
я понятия не имею !!

Ответ №1:

Я собрал небольшую песочницу, в которой вы можете увидеть пример того, как достичь того, чего вы хотите: https://codesandbox.io/s/sad-bird-lzzbb

 import React, { useState } from "react";
import { Button, Text, View } from "react-native";

export default function App() {
  const [selectValue, setSelectedValue] = useState('');

  const onValueChange = (itemValue) => {
    setSelectedValue(itemValue);
  };

  return (
    <div className="App">
      <Button
        onPress={() => onValueChange("other")}
        title="Click to set value to 'other'"
      />
      {selectValue === "other" ? (
        <View style={{ backgroundColor: "red", height: 5000, width: 5000 }}>
          <Text>Anas</Text>
        </View>
      ) : null}
    </div>
  );
}
 

Вы можете использовать onValueChange функцию, чтобы передать ее в качестве обратного вызова в любом случае, если захотите (например onPress , с помощью той кнопки, которую я создал), но затем вам нужно вернуть все jsx в возврате вашего функционального компонента (или render функции, если вы используете компоненты класса).