const handleDepartmentInputChange = (selected) => { if (selected === null) { let modifiedInputs = { ...inputs }; modifiedInputs[scope]['query_department'] = ''; setInputs(modifiedInputs); } else { let modifiedInputs = { ...inputs }; modifiedInputs[scope]['query_department'] = selected.value.toString(); setInputs(modifiedInputs); } }; wywala się przy undefined, jak sobie z tym poradzić z klasą?
Wydaje mi się, że selected === null zmieię na: selected === null || selected === undefined i styknie.
@pyroxar: masz w tym kodzie buga: let modifiedInputs = { ...inputs }; robi tylko shallow copy inputs, a modyfikujesz wewnętrzny obiekt w modifiedInputs[scope]. Powinno to być coś takiego, zwróć uwagę na tworzenie kopii obiektu pod inputs[scope] setInputs({ ...inputs, [scope]: { ...inputs[scope], query_department: selected?.value?.toString() ?? '' } });
const handleDepartmentInputChange = (selected) => {if (selected === null) {
let modifiedInputs = { ...inputs };
modifiedInputs[scope]['query_department'] = '';
setInputs(modifiedInputs);
} else {
let modifiedInputs = { ...inputs };
modifiedInputs[scope]['query_department'] = selected.value.toString();
setInputs(modifiedInputs);
}
};
wywala się przy undefined, jak sobie z tym poradzić z klasą?
Wydaje mi się, że selected === null zmieię na: selected === null || selected === undefined i styknie.
selected to jest wartość inputu.
#webdev #react #javascript #programowanie
[undefined, null].includes(selected)Coś takiego wymyśliłem.
const handleDepartmentInputChange = (selected) => {let modifiedInputs = {
modifiedInputs[scope]['query_department'] = selected?.value?.toString() || '';let modifiedInputs = { ...inputs };robi tylko shallow copyinputs, a modyfikujesz wewnętrzny obiekt wmodifiedInputs[scope]. Powinno to być coś takiego, zwróć uwagę na tworzenie kopii obiektu podinputs[scope]setInputs({ ...inputs, [scope]: { ...inputs[scope], query_department: selected?.value?.toString() ?? '' } });@asciiterror: skąd się uczysz JS/React? Praktyka?