Прежде всего, установленное состояние ловушки React является асинхронным.
Если вы ожидаете, что метод setState будет вызываться несколько раз за рендер, используйте этот шаблон:
setPerson(person => ({ ...person, [event.target.name]: event.target.value }))
Затем, это filer: filter(person => person)
не имеет смысла, вы должны использовать какой-то атрибут, такой как id
, чтобы фильтровать, и если вы хотите только одну запись, используйте find()
.
Если вы хотите более конкретный ответ, вы должен предоставить структуру данных person
содержит.