React Native / Redux: добавление возвращаемого значения из функции в элемент объекта массива - PullRequest
0 голосов
/ 10 июля 2020

Я разрабатываю приложение React Native, которое использует Redux для управления состоянием. У меня есть одна конкретная функция, которая используется для получения массива сохраненных объектов, однако я изо всех сил пытаюсь понять, как добавить значение в каждый из этих объектов массива.

Вот код:

Redux

const saveData = async function(user) {
  const dataItems = await loadData(user);

  dataItems.push(user.data);
  await storeData(user.type, dataItems);
};

// user.type matches the value of the 'userId' key:value pair, for example one user.type may be 'user1'


    loadData('user1').then(async data => {
  const yourData = data;
  console.log('yourData', yourData);
  return yourData;
});

// This returns information in the following format:
// ['userItem1']

function retrieveObjectsFromStore() {
  return function(dispatch) {
    const userData = [
      {userId: 'user1', data: ''},
      {userId: 'user2', data: ''},
      {userId: 'user3', data: ''},
      {userId: 'user4', data: ''},
      {userId: 'user5', data: ''},
    ];
    dispatch(reviveDataActionCreator(userData));
  };
}

У меня есть функция, которая сохранит каждое значение данных для каждого данного пользователя и перенесет sh его в соответствующий массив, который затем сохраняется и извлекается. с использованием функции loadData для любого данного пользователя.

saveData вызывается всякий раз, когда данные создаются для определенного пользователя, чтобы их сохранить.

Функция retrieveObjectsFromStore для другого hand используется в нескольких других функциях приложения, поскольку они полагаются на информацию, содержащуюся в переменной userData.

В конечном итоге я пытаюсь понять, как это сделать, это pu sh сохраненный userItems данные из функции saveData и сохранить их в элементе data: '' переменной userData внутри функции retrieveObjectsFromStore.

Так, например, если я вызываю loadData('user1'), и он возвращается s ['user data item 1'], возможно ли сохранить это значение в соответствующем объекте в массиве userData в функции retrieveObjectsFromStore, чтобы теперь оно выглядело как {userId: 'user1', data:'user data item 1'}?

Есть ли какие-нибудь как это сделать?

Заранее спасибо!

...