اذهب إلى المحتوى
  • 0

الصور لا تعمل بداخل الـ condition في React Native

عمر سالم2

السؤال

لدي الكود التالي، وعند الضغط على "استمرار" لا تظهر الصورة..

import * as React from 'react';
import { Text, View, StyleSheet, Button, Image } from 'react-native';

class App extends React.Component {
  constructor() {
    super();

    this.state = {
      completed: false
    };

    this.handleCompleteAction = this.handleCompleteAction.bind(this);
  }

  handleCompleteAction(e) {
    this.setState({ completed: true });
  }

  render() {
    const completed = this.state.completed;
    return (
      <View>
        {
          completed
            ? <Image source={{ uri: "https://source.unsplash.com/512x512" }} />
            : <Text>اضغط على استمرار</Text>
        }
        <Button
          onPress={this.handleCompleteAction}
          title="استمرار" />
      </View>
    );
  }
}

export default App;

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

السبب في هذه المشكلة هو التنسيقات الخاصة بالصورة، حيث أنه لم يتم تحديد أبعادها.

يمكنك إضافة الخاصية style للمكون Image و تقوم بتحديد الطول و العرض الذي تريده للصورة و ستعمل بشكل صحيح:

الأكواد بعد التعديل:

import * as React from 'react';
import { Text, View, StyleSheet, Button, Image } from 'react-native';

class App extends React.Component {
  constructor() {
    super();

    this.state = {
      completed: false
    };

    this.handleCompleteAction = this.handleCompleteAction.bind(this);
  }

  handleCompleteAction(e) {
    this.setState({ completed: true });
  }

  render() {
    const completed = this.state.completed;
    return (
      <View>
        {
          completed
            ? <Image 
          			style={{ width: "100px", height: "200px" }} 
      				source={{ uri:"https://source.unsplash.com/512x512" }} 
      		 />
            : <Text>اضغط على استمرار</Text>
        }
        <Button
          onPress={this.handleCompleteAction}
          title="استمرار" />
      </View>
    );
  }
}

export default App;

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...