import React, { Component } from 'react';
class Timer extends Component {
state = {
seconds: 0
};
componentDidMount() {
this.timer = setInterval(this.tick, 1000);
}
tick() {
this.setState({ seconds: this.state.seconds + 1 });
}
componentWillUnmount() {
clearInterval(this.timer);
}
render() {
return <h5>Прошло: {this.state.seconds}</h5>
}
}
export default Timer;
статей не нашёл
Уточню: как браузер понимает, что событие "tellFuckYou" произошло? это главное, о чём нигде не написано
// Создание события
var event = document.createEvent('Event');
// Назначить имя событию
event.initEvent('build', true, true);
// Слушаем событие
document.addEventListener('build', function (e) {
// e.target соотетствует объекту document
}, false);
// target события может быть любой элемент
document.dispatchEvent(event);
Вообще не понимаю, зачем создавать свои события?
const Wrapper = styled.div`
// some styles
`;
const ChildElement = styled.div`
// some styles
`;
class MyComponent extends React.Component {
static ChildElement = ChildElement;
render() {
const { className } = this.props;
return (
<Wrapper className={className}>
<ChildElement>Some text</ChildElement>
</Wrapper>
)
}
}
export default MyComponent;
const SyledMyComponent = styled(MyComponent)`
// some styles
${MyComponent.ChildElement} {
// some styles for ChildElement
}
`;
const AbstractElement = styled.div`
// some styles
`;
const ConcreteElement = AbstractElement.extend`
// some styles
`;
height: $value1;
border-radius: 50%/$value2 $value3 0 0;