Слишком много рендерера – отреагируйтеJavascript

Форум по Javascript
Anonymous
Слишком много рендерера – отреагируйте

Сообщение Anonymous »

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

Код: Выделить всё

const [filter, setfilter] = useState({
filter: false,
type: KurstypeENUM.NOTHINGCHOSEN,
state: null
});
Пока это работает хорошо, пока я не помещаю в него строку, которая будет использоваться при тяжелом написании.
Например, если я хочу ввести поиск text, я бы объявил это поле (

Код: Выделить всё

searchtext
) также в фильтре:

Код: Выделить всё

const [filter, setfilter] = useState({
filter: false,
type: KurstypeENUM.NOTHINGCHOSEN,
state: null,
searchtext: ''
});
Я получаю сообщение об ошибке: «Слишком много средств визуализации».
Если я объявляю строковую переменную отдельно, все работает чудесно:

Код: Выделить всё

const [filtersearch, setfiltersearch] = useState("");
const [filter, setfilter] = useState({
filter: false,
type: KurstypeENUM.NOTHINGCHOSEN,
state: null
});
Мой код, как я меняю фильтр:

Код: Выделить всё

OnChangeSearchstring(event) =>
setfilter( prevState => ( {
...prevState,
searchtext: event.target.value
} ) );
Что мне нужно изменить, чтобы все было правильно?

Подробнее здесь: https://stackoverflow.com/questions/793 ... erer-react

Вернуться в «Javascript»