Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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
Javascript ImagePicker将数据设置为状态_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript ImagePicker将数据设置为状态

Javascript ImagePicker将数据设置为状态,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我试图在ReactNative中创建一个imagePicker,但当我选择该图像时,出现错误: TypeError:this.setState不是函数。(在'this.setState'中)({ avatar:data})“this.setState”未定义) 我不明白为什么我的状态现在没有定义 export default class ProfileEdit extends Component { constructor(props) { super(props);

我试图在ReactNative中创建一个imagePicker,但当我选择该图像时,出现错误:

TypeError:this.setState不是函数。(在'this.setState'中)({ avatar:data})“this.setState”未定义)

我不明白为什么我的状态现在没有定义

export default class ProfileEdit extends Component {
    constructor(props) {
        super(props);

        async function getRoutedUser() {
            const route = useRoute();

            return route.params.user;
        }


        this.state = {
            user: this.props.navigation.state.params.user,
            avatar: ""
        };

 imagePickerCallback(data) {

        this.setState({avatar: data})

    }


...
<Button style={styleProperties.buttonEditProfImage} type="outline" 
       onPress={() => ImagePicker.showImagePicker({}, this.imagePickerCallback)}>
    <Text style={styleProperties.buttonEditProfText}>Escolha uma imagem</Text>
</Button>
...
导出默认类概要文件编辑扩展组件{
建造师(道具){
超级(道具);
异步函数getRoutedUser(){
const route=useRoute();
返回route.params.user;
}
此.state={
用户:this.props.navigation.state.params.user,
阿凡达:“
};
imagePickerCallback(数据){
this.setState({avatar:data})
}
...
ImagePicker.showImagePicker({},this.imagePickerCallback)}>
埃斯科拉乌马影像
...

谢谢!!

您应该将
imagePickerCallback
声明为arrow函数,或者您应该在构造函数中为您的函数绑定它。您可以在React中阅读有关处理事件的更多信息。
尝试以下操作:

导出默认类概要文件编辑扩展组件{
建造师(道具){
超级(道具);
异步函数getRoutedUser(){
const route=useRoute();
返回route.params.user;
}
此.state={
用户:this.props.navigation.state.params.user,
阿凡达:“
};
imagePickerCallback=(数据)=>{
this.setState({avatar:data})
}
...
ImagePicker.showImagePicker({},this.imagePickerCallback)}>
埃斯科拉乌马影像

@Leonardores不客气,请投票表决我的答案。谢谢。