Обновить часть интерфейса с «неизвестными» данными - PullRequest
0 голосов
/ 28 апреля 2020

Приложение в React и Typescript.

У меня есть такая структура данных

export interface data {
  name1: ConfigurationVariable,
  name2: ConfigurationVariable,
  name3: ConfigurationVariable,
  name4: ConfigurationVariable,
}

и

export interface ConfigurationVariable {
  id: string;
  value: any;
  name: string;
  type: DataTypes;
  default: DataType;
  min: number | string | boolean;
  max: DataType;
  storage: StorageType; 
}

В моем приложении есть переменная useState типа data .

const [CVData, setCVData] = useState<data>(CV);

Мое приложение получает сообщения websocket, как это: {name: any, value: any}. Например, {name: name2, value: 100}

Как мне обновить правильное значение в моем состоянии данных, в этом случае значение для name2

Есть ли лучшее способ хранить мои ценности? Они будут много обновляться.

Спасибо!

1 Ответ

0 голосов
/ 28 апреля 2020
const {name, ...rest }  = datafromWebSocket
setCVData(cvData=>({...cvData, [name]: {...cvData[name], ...rest}}))

Структура данных выглядит правильно. Это должно быть легко обновлять с помощью этой структуры. пожалуйста, дайте мне знать, если это не работает, или я что-то пропустил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...