#javascript #arrays #firebase #react-native #react-native-firebase
#javascript #массивы #firebase #react-native #react-native-firebase
Вопрос:
Я использую firebase в своем проекте react native.Я сохраняю элементы, а затем получаю эти элементы в своем приложении. Но теперь я хочу редактировать и удалять элементы на основе ключа, сгенерированного firebase для каждого элемента, который вы можете видеть в ss. Когда я получаю данные из firebase, я получаю элементы, но не ключ для каждого элемента.Так вот почему я не могу редактировать или удалять элементы, пожалуйста, помогите мне, как это сделать.
введите описание изображения здесь
вот мой код добавления элемента в firebase.
export const addMeasurement = params => {
return async dispatch => {
dispatch(measurementLoading());
try {
firebaseService
.database()
.ref('/Measurements')
.push(params)
.then(res => {
measurementAdded(res);
});
} catch (err) {
dispatch(measurementFailed(err));
}
};
};
Вот код для получения элементов из firebase, который был сохранен ранее
export const getMeasurements = () => {
return async dispatch => {
dispatch(measurementLoading());
try {
const ref = firebaseService.database().ref('/Measurements');
ref.on('value', snapshot => {
const values = snapshot.val();
if (values !== null) {
const newFreshArr = Object.values(values);
dispatch(measurementSuccess(newFreshArr));
}
});
} catch (err) {
dispatch(measurementFailed(err));
}
};
};
Ответ №1:
Вы можете получить путь к снимку следующим образом: let path = snapshot.ref.path.toString();
. Затем вы можете вносить изменения в свою базу данных Firebase, используя этот путь. Вот документация по этому поводу:https://firebase.google.com/docs/reference/js/firebase.database .DataSnapshot#ссылка