componentDidMount(){
document.addEventListener("keydown", this.actionFunction, false);
}
componentWillUnmount(){
document.removeEventListener("keydown", this.actionFunction, false);
}
actionFunction(event){
if(event.keyCode === 27) {
(нажали esc - выходим из режима движения и так далее)
};
}
state = {
filteredNews: this.props.data,
};
constructor(props) {
super(props);
this.state = {
filteredNews: this.props.data,
};
}
renderNews = () => {};
renderNews() {}
renderNews() {
const { filteredNews } = this.state;
if (filteredNews.length) {
return filteredNews.map(item => (
<Article key={item.id} data={item} />
));
}
return <p>К сожалению новостей нет</p>;
}
obj.method(); // вызываем метод
this.method(); // вызываем метод
onClick={obj.method} // не вызываем метод
onClick={this.method} // не вызываем метод
class MainPage extends Component {
constructor(props) {
super(props);
this.state = {
color: 'red'
};
this.changeStylesForCaption = this.changeStylesForCaption.bind(this); // привязываем контекст
}
changeStylesForCaption() {
this.setState({
color: 'black'
});
}
render() {
return (
<h1 onClick={this.changeStylesForCaption} style={{ color: this.state.color }}>gleb</h1>
);
}
}
export const store = configureStore();
// some code
import { store } from './index';
import { someAction } from './actions/some';
store.dispatch(someAction());
Как работают Thunk?
Правильно ли я понимаю, что этот код будет выполнен синхронно
const computeDerivedState = props => ({
someData: props.someData,
});
class Example extends Component {
state = {
...computeDerivedState(this.props),
someState,
};
componentWillReceiveProps(nextProps) {
if (nextProps.someData !== this.props.someData) {
this.setState(computeDerivedState(nextProps));
}
}
}