Вот код:
export default class Collage extends React.Component {
constructor() {
super();
this.state = {
images: [
<this.Image src="" />,
],
};
}
Image = ({ src }) => (
<img className="collage__img" alt="" src={src} onTransitionEnd={evt => evt.target.remove()} />
);
render() {
return (
<div className="collage">
{this.state.images}
</div>
);
}
}
Все, что я хочу, - это сгенерировать список изображений в блоке .collage
до того, как все будет отрисовано. Как видите, я пробовал создавать изображения в конструкторе. Но вот так я получаю ошибку: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.
Но если я объявлю Image
в конструкторе (без использования this
), все будет работать нормально. Такое странное поведение.
Подскажите, есть ли другой способ сгенерировать данные перед рендерингом?