формирует массив ячеек
const drawCells: React.FunctionComponent[] = () => {
var x = 0;
var y = 0;
var arrOfCells: React.FunctionComponent[] = [];
for(let i = 0; i < 15; i++){
arrOfCells.push(<div style={{
position: 'absolute',
height: '40px',
width: '40px',
transform: 'rotate(30deg)',
left: `${x+40}`,
top: '0'}}></div>)
}
return arrOfCells;
}
но как вы понимаете тут вскод говорит ошибка. Рендерю путём вставки {drawCells} в разметку
проблема тайпскрипта какая-то имеется в коде?
Две даже) 1 - Type '() => React.FunctionComponent<{}>[]' is not assignable to type 'FunctionComponent<{}>[]' 2 - Argument of type 'Element' is not assignable to parameter of type 'FunctionComponent<{}>'. Type 'ReactElement<any, any>' provides no match for the signature '(props: {}, context?: any): ReactElement<any, any> | null'
ну вообще, насколько я помню, я в своих проектах на чистом жс так делал. Подготавливал элементы в функции и рендерил их
Может надо вызывать функцию?)
ок, попробую. Просто сейчас запара новый проект создавать у меня) Не знаю сталкивался кто, но npx говорит, что cra установлен глобально, но уже не поддерживается в глобальной установке. Приходится обходными путями создавать проекты блин)
да, но я его изучаю сижу в бою, поэтому хотелось бы его применять для наработки опыта)
функцию типизировать не обязательно, а вот массив надо затипизировать как массив состоящий из ReactChild
ну возвращаемый тип неплохо было бы знать мне кажется)
Обсуждают сегодня