Я пытался понять этот код на github
Здесь они, программист, использовали что-то вроде этого
constructor(props) {
super(props);
this.actions = bindActionCreators(Actions, this.props.dispatch);
}
Вопрос 1: Здесь this.actions = bindActionCreators(Actions, this.props.dispatch);
не имеет смысла для меня
Кроме того, это не основной вопрос, но откуда я выучил React-redux, мы использовали для подключения компонента, подобного этому
export default connect(mapStateToProps,
{fetchCoin,
updateCrypto,
CurrencyRate,
CurrencyState
})(cryptoTicker);
В приведенном выше фрагменте кода программист сделал что-то вроде этого
@connect(state => {
return {
score: state.game.get("score"),
result: state.game.get("result")
};
})
Вопрос 2: ** Что опять-таки выглядит мне чуждо (как у меня несколько месяцев опыта использования js, но этоэто первый раз, когда я сталкиваюсь с **@
) Так может кто-нибудь объяснить, пожалуйста, что такое @ в целом в JS?
И, наконец, он объявил две функции, которыеменя вызывают onclick
после оператора возврата класса
_handleNewGame = () => {
this.actions.initGame();
}
/**
* Save the current game`s state.
*/
_handleSaveGame = () => {
this.actions.saveGame();
}
Теперь, поскольку я все еще относительно новичок в JS и реагирую, у меня есть два вопроса к этой части
Вопрос 3: Можем ли мы создать функцию внутри класса после возвратаи сделать?Если да, то не было бы хорошей практикой (в целом) создавать функцию перед рендерингом, где все другие функции объявлены?