Возможно ли изменить изображение без конструктора? react-native

#javascript #react-native

#javascript #react-native

Вопрос:

я хочу, чтобы мое изображение изменилось на другое изображение после нажатия кнопки «Нажать» без конструктора в моей функции.

Мой код изображения:

 <Image
        source={require("./assets/images/imgas.png")}
        resizeMode="contain"
        style={styles.ss}
      ></Image>  

Как мне включить другое изображение, когда я нажимаю на него?
Поскольку я использую функцию, я не могу использовать constructor.

Есть какие-нибудь идеи?

Ответ №1:

Попробуйте сделать это, затем вызовите setUri , чтобы изменить изображение

 const image = require("./assets/images/imgas.png")

const [uri, setUri] = useState(image);

<Image source={{uri}} resizeMode="contain" style={styles.ss} />
  

Комментарии:

1. Все хорошо, но мне нужно, чтобы изображение менялось после щелчка.

2. Использую onpress, но я не знаю, как обойтись без конструктора.

3. вы должны предоставить свой полный код, это единственный способ, которым я могу вам помочь.

Ответ №2:

 export default class Image extends Component {
  constructor(props) {
    this.state = {
     uri: '',
     }
  }

  handleButtonPress = () => {
    this.setState({
      uri: './assets/images/imgas.png',
    });
  }

  render() {
    return (
      ...
      <Button
        onPress={this.handleButtonPress}
        ...
      />
      ...
    );
  }
}
  

Комментарии:

1. Да, мне нужен этот код, но возможно ли это сделать без использования конструктора? Потому что весь мой код встроен в: функция экспорта по умолчанию App() {