Имеется вот такой React компонент, в который импортирован компонент WorkItem
.
При завершении анимации (смотреть onTransitionEnd)
нужно показать эти компоненты WorkItem
, как это возможно сделать?
import React from 'react';
import Slider from "react-slick";
import WorkItem from '../WorkItem';
class PortfolioSectionPanel extends React.Component {
constructor() {
super();
this.state = {
works: [
{
type: 'Some',
link: 'some',
},
{
type: 'Some1',
link: 'some1',
},
{
type: 'Some',
link: 'some',
},
{
type: 'Some1',
link: 'some1',
},
{
type: 'Some',
link: 'some',
},
{
type: 'Some',
link: 'some',
},
]
}
this.showWorks = () => {
let {works} = this.state;
const angleRad = 360 / works.length * 0.017; //Частота кругов в радианах
const bg = document.getElementById('portfolio-panel-disk');
let radius;
if(bg) {
radius = parseInt(getComputedStyle(bg).width) / 2 * 20;
}
let workItems = works.map((currentValue, index) => {
return <WorkItem
type={currentValue.type}
link={currentValue.type}
key={index}
leftOffset={radius - radius * Math.cos(angleRad * index)}
topOffset={radius - radius * Math.sin(angleRad * index)} />
})
return workItems
}
}
render() {
return(
<div className={this.props.freshClass}>
<div className={this.props.classForBg} onTransitionEnd={this.showWorks} >
<div className='portfolio-panel-disk' id='portfolio-panel-disk'>
{workItems}
</div>
</div>
</div>
)
}
}
export default PortfolioSectionPanel;
Значение workItems не определено в методе render.
render() {
const workItems = this.showWorks();
return (
<div className={this.props.freshClass}>
<div className={this.props.classForBg} onTransitionEnd={this.showWorks} >
<div className='portfolio-panel-disk' id='portfolio-panel-disk'>
{workItems}
</div>
</div>
</div>
)
}
Пример на sandbox https://codesandbox.io/embed/polished-glade-jkz5d
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть корзина товаров, в которой может быть множество различных сущностейИ я пытаюсь реализовать изменения кол-во товара с помощью...
Для последовательной инициализации элементов в вектор их можно добавлять через push_back и emplace_backА что если есть некоторая перестановка индексов,...