簡體   English   中英

React Native,更新用戶個人資料圖片

[英]React Native, Updating user profile image

我正在嘗試使用圖像選擇器更新用戶個人資料圖片,但是當我選擇一個圖像來更新它時,它不會更新,並且默認圖像也會被刪除。 通過使用帶有類庫的圖像選擇器,我真的遇到了很多問題,請有人幫忙

這是我的代碼

class Profile extends Component {
  state = {
    userImage: require("../assets/cena.jpg"),
    userName: "John Cena",
    userInfo: "The champ is here",
    modal: false,
    image: null,
    hasCameraPermission: null,
  };

  async componentDidMount() {
    const { status } = await Permissions.askAsync(Permissions.CAMERA_ROLL);
    this.setState({ hasCameraPermission: status === "granted" });
  }

  pickImage = async () => {
    let result = await ImagePicker.launchImageLibraryAsync({
      mediaTypes: ImagePicker.MediaTypeOptions.Images,
      allowsEditing: true,
      aspect: [4, 3],
    });

    if (!result.cancelled) {
      this.setState({ image: result.uri });
    }
  };

  closeModal = () => {
    this.setState({ modal: false });
  };

  render() {
    return (
      <SafeAreaView style={styles.screen}>
        <View style={styles.container}>
          <TouchableOpacity
            activeOpacity={0.7}
            onPress={this.pickImage}
            style={styles.TouchableOpacityStyle}
          >
            <MaterialCommunityIcons
              name="camera"
              size={30}
              color={colors.white}
            />
          </TouchableOpacity>
          {!this.state.image && (
            <Image style={styles.image} source={this.state.userImage} />
          )}
          {this.state.image && (
            <Image
              style={styles.image}
              source={{ uri: this.setState.userImage }}
            />
          )}

        

你有一個錯字, source={this.state.userImage}而不是 source={this.setState...} 而你正在設置的狀態是image ,所以它應該是this.state.image

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM