// хелперы
const makeCustomTextFieldWithState = (): [string, ReactElement] => {
const [value, setValue] = useState<string>('');
const onChange = (event: React.ChangeEvent<HTMLInputElement>) =>
setValue(event.target.value);
return [value, <CustomTextField onChange={onChange} />];
};
const makeManyCustomTextFieldWithState = (count: number): [string[], ReactElement[]] =>
Array(count).fill(0).reduce(([values, elements]) => {
const [value, element] = makeCustomTextFieldWithState();
return [
[...values, value],
[...elements, element],
];
}, [[], []]);
// в компоненте
const [[dept, login, firstName, lastName], elements] = makeManyCustomTextFieldWithState(4);
<>{elements}</>
interface IFormData {
firstName: string;
lastName: string;
}
const [ formData, setFormData ] = React.useState<IFormData>({
firstName: '',
lastName: '',
});
const onChange = (e: React.ChangeEvent<HTMLInputElement>) => setFormData({
...formData,
[e.target.name]: e.target.value,
});
<CustomTextField name="firstName" value={formData.firstName} onChange={onChange} />
<CustomTextField name="lastName" value={formData.lastName} onChange={onChange} />
<!-- или -->
{Object.entries(formData).map(([ k, v ]) => (
<CustomTextField key={k} name={k} value={v} onChange={onChange} />
))}
const letter = document.getElementsByClassName('letter')
const wrap = document.getElementsByClassName('wrap')
const user = users.filter((item) => item.name.indexOf(event.target.value) === 0)
Почему ты называешь массивы в единственном числе?const itemList = document.getElementById(value)
.appendChild(document.createElement('li'))
А один элемент называешь списком?const generationLetters = (func) => {
if (someLetters.length === 5) return someLetters;
const current = String.fromCharCode(func(97, 122)).toLocaleUpperCase()
someLetters.includes(current)
? generationLetters(func)
: someLetters.push(current)
return generationLetters(func)
}
Это уже индусский код какой-то. И что тут забыл тернарник?Array.from(wrap)
Array.from(letter)
А это что за ужас? Зачем это делать здесь и почему не сделать это по человечески? (деструктуризация)