Как объединить мои два const в моей ручке смены в реагировать и фильтровать мой массив - PullRequest
0 голосов
/ 27 января 2020

Я использую ловушки React для этого, и при наборе он не получает своих значений, которые я ввел, и он сбрасывается. Ниже приведен мой переключатель дескриптора:

//handle changer for inputs
    const handleChange = (event) => {
        setPerson({ ...person, [event.target.name]: event.target.value });

    // an array of non-empty fields
    const fields = Object.entries(person).filter(person => person);
    const state = Object.fromEntries(fields);
    setPerson(state);
    console.log(state);

}

Я хотел бы узнать о методе, который позволяет фильтровать мои пустые значения в массиве и передавать мои значения в массив.

1 Ответ

0 голосов
/ 27 января 2020

Прежде всего, установленное состояние ловушки React является асинхронным.

Если вы ожидаете, что метод setState будет вызываться несколько раз за рендер, используйте этот шаблон:

setPerson(person => ({ ...person, [event.target.name]: event.target.value }))

Затем, это filer: filter(person => person) не имеет смысла, вы должны использовать какой-то атрибут, такой как id, чтобы фильтровать, и если вы хотите только одну запись, используйте find().

Если вы хотите более конкретный ответ, вы должен предоставить структуру данных person содержит.

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