Closed RYAZHAPOVILNUR closed 1 year ago
В рамках задачи необходимо добавить еще несколько способов обновления стейта
// обновить с помощью передачи массива массивов у каждого из которых первый элемент - путь, второй - значение
this.state$.update([['user.address.city', 'Cairo'], ['user.address.street', 'test street']]);
то есть, сейчас мы можем обновить таким образом
this.state$.update(['user.address.city', 'Cairo']); - передаем один массив
после модернизации мы должны иметь возможность передавать массив, состоящий из массивов, вместо
['user.address.city', 'Cairo']
будем передавать
[['user.address.city', 'Cairo'], ['user.address.street', 'test street']]
Для реализации нужно будет проверять является ли переданный аргумент массивом, если аргумент массив и его элементы - строки, то используем то логику которая уже реализована, если же элементы массива - массивы - то проходимся по каждому элементу и к нему применяем такую же логику как применяли в случае когда аргумент - массив строк
// обновить с помощью объекта у которого path - путь, value - значение
this.state$.update({path: 'user.address.city', value: 'Cairo'});
// обновить с помощью массива объектов у каждого из которых path - путь, value - значение
this.state$.update([
{path: 'user.address.city', value: 'Cairo'},
{path: 'user.address.street', value: 'test street'}
]);
На данный момент метод update можно использовать тремя способами