Javascript 从'获取错误;坐标';从Firebase更新数据时

Javascript 从'获取错误;坐标';从Firebase更新数据时,javascript,react-native,firebase-realtime-database,Javascript,React Native,Firebase Realtime Database,我的问题是,当我创建数据或帖子(我使用Firebase数据库)时,它不会从标记的坐标中出错。但是,当我试图编辑任何数据(更改其他数据,如标题或说明)但不编辑数据的纬度或经度时,我会出错,因为我不希望用户只编辑标题、说明和图像的纬度或经度 这是我在尝试更新标题(不是纬度或经度)后遇到的错误 更新由以下管理的视图的属性“坐标”时出错:AIRMapMarker | null | latitude 想了解更多信息,请告诉我。谢谢大家! 这是我的密码: EventMapScreen:这是我的标记渲染的位置

我的问题是,当我创建数据或帖子(我使用Firebase数据库)时,它不会从标记的
坐标中出错。但是,当我试图编辑任何数据(更改其他数据,如标题或说明)但不编辑数据的纬度或经度时,我会出错,因为我不希望用户只编辑标题、说明和图像的纬度或经度

这是我在尝试更新标题(不是纬度或经度)后遇到的错误

更新由以下管理的视图的属性“坐标”时出错:AIRMapMarker | null | latitude

想了解更多信息,请告诉我。谢谢大家!

这是我的密码:

EventMapScreen:这是我的标记渲染的位置

            <MapView
                style={styles.map}
                initialRegion={{
                    latitude: 14.6317303,
                    longitude: 121.0324869,
                    latitudeDelta: 0.0922,
                    longitudeDelta: 0.0421
                }}
                onPress={this.pickLocationHandler}
                ref={ref => this.map = ref}
                provider={PROVIDER_GOOGLE}
            >
            {this.props.eventsState.map((marker, index) => {
                const scaleStyle = {
                    transform: [
                        {
                            scale: interpolations[index].scale,
                        },   
                    ],
                };
                const opacityStyle = {
                    opacity: interpolations[index].opacity,
                };
                return (
                    <Marker 
                        key={index} 
                        coordinate={{latitude: marker.latitude, longitude: marker.longitude}}
                        onPress={() => {
                            navigate('EventDetail', {
                                eventId: marker.id
                            });
                        }}
                    >
                        {/* <Animated.View style={[styles.markerWrap, opacityStyle]}>
                            <Animated.View style={[styles.ring, scaleStyle]} />
                            <View style={styles.marker} />
                        </Animated.View> */}
                        <Animated.View style={[styles.markerWrap]}>
                            <Animated.View style={[styles.ring]} />
                            <View style={styles.marker} />
                        </Animated.View>
                    </Marker>
                );
            })}
            </MapView>

已经解决了!我只是没有在我的
events.js/reducer
中获得纬度和经度的
userIndex
。如果您有解决方案,请将其作为答案发布,然后作为正确答案接受。
<ScrollView>
        <StatusBar backgroundColor="white" barStyle="dark-content"/>
        <View style={styles.form}>
            <Input
                id="imageUrl"
                label="Image Url"
                errorText="Please enter a Image Url!"
                autoCapitalize="sentences"
                returnKeyType="next"
                onInputChange={inputChangeHandler}
                initialValue={editedEvent ? editedEvent.imageUrl : ''}
                initiallyValid={!!editedEvent}
                required
            />
            <Input
                id="title"
                label="Title"
                errorText="Please enter a valid title!"
                autoCapitalize="sentences"
                returnKeyType="next"
                onInputChange={inputChangeHandler}
                initialValue={editedEvent ? editedEvent.title : ''}
                initiallyValid={!!editedEvent}
                required
            />
            <Input
                id="description"
                label="Description"
                errorText="Please enter a valid description!"
                autoCapitalize="sentences"
                returnKeyType="done"
                multiline
                numberOfLines={3}
                onInputChange={inputChangeHandler}
                initialValue={editedEvent ? editedEvent.description : ''}
                initiallyValid={!!editedEvent}
                required
                minLength={3}
            />
        </View>
        {imageData || editedEvent ? 
            <View>
                <Image
                    source={{uri: imageData || editedEvent.imageUrl}}
                    style={styles.image}
                />
            </View>
            : <View></View>
        }
    </ScrollView>
export const fetchEvents = () => {
return async dispatch => {
    const response = await fetch('https://rn-event-6c2e4.firebaseio.com/events.json');

    const resData = await response.json();
    const loadedEvents = [];

    //id = key, userID = u1
    for (const key in resData) {
        loadedEvents.push(
            new Event(
                key, 
                'u1', 
                resData[key].imageUrl, 
                resData[key].title, 
                resData[key].description,
                resData[key].latitude,
                resData[key].longitude
            )
        );

    }

    dispatch({
        type: SET_EVENTS,
        events: loadedEvents
    })
    };
    };

   export const createEvent = (imageUrl, title, description, latitude, longitude) => {
return async dispatch => {
    try {
        const response = await fetch('https://rn-event-6c2e4.firebaseio.com/events.json', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                imageUrl,
                title,
                description,
                latitude,
                longitude
            })
        });

        if (!response.ok) {
            throw new Error('Something went wrong!');
        }

        const resData = await response.json();
        console.log(resData);

        dispatch({
            type: CREATE_EVENT,
            eventData: {
                imageUrl,
                title,
                description,
                latitude,
                longitude
            }
        });
    } catch (err) {
        throw err;
    }
    };
    };

    export const updateEvent = (id, imageUrl, title, description) => {
return async dispatch => {

    const response = await fetch(`https://rn-event-6c2e4.firebaseio.com/events/${id}.json`, {
        method: 'PATCH',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            imageUrl,
            title,
            description,
        })
    });

    dispatch({
        type: UPDATE_EVENT,
        eid: id,
        eventData: {
            imageUrl,
            title,
            description
        }
    })
}
};