Как создать оболочку setState, которая принимает произвольные объекты - PullRequest
1 голос
/ 17 июня 2019

Я работаю с методом setState из REACT, и почти каждый вызов setState в моем коде выглядит примерно так:

this.setState({..some_stuff...}, ()=> some_standard_method(this.state)); 

И поэтому, естественно, предполагается, что если бы у меня был методform

customSetState(args) {
    this.setState(args, () => some_standard_method(this.state));

}

Тогда я могу сделать свой код намного менее подробным, заменив каждый из моих вызовов setState выше следующим ниже

customSetState(...some_stuff...).bind(this)

Но я не уверен, как написатьЭтот метод.Под этим я подразумеваю, что метод setState принимает не единственную переменную, а произвольный объект с указанными произвольными параметрами.Итак, в строке:

customSetState(args) { ...

Нужно ли мне вносить какие-либо изменения во входную переменную "args", чтобы указать, что я принимаю произвольно определенные объекты?

1 Ответ

0 голосов
/ 17 июня 2019

Вот простой пример того, как этого добиться, используя оператор распространения и параметр отдыха:

function setStateSimulation(...args) {
    console.log(`My three parameters are ${args[0]}, ${args[1]} and ${args[2]}`);
    const callback = args[args.length - 1];
    callback();
}

function myCustomSetStateSimulation(...args) {
    setStateSimulation(...args, () => {
        console.log('My custom callback');
    });

}

myCustomSetStateSimulation("a", "B", "c");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...