Могу ли я знать, почему нам нужно добавить const / var / let иногда перед функцией стрелки в React? - PullRequest
0 голосов
/ 27 июня 2019

Я просто чувствую себя настолько смущенным, что нам нужно добавить этот "const" перед функцией стрелки mapStateToProps внутри компонента.Для большинства других функций со стрелками, которые мы пишем внутри React Component, мы не ставим const, var или let перед функцией со стрелкой.Могу ли я знать, в чем разница?Большое вам спасибо!

const mapStateToProps = (state) => {
    return {
        user: state.user,
        math: state.math
    };
};

const mapDispatchToProps = (dispatch) => {
    return {
        setName: (name) => {
            dispatch(setName(name));
        },

    };
};
export default connect(mapStateToProps, mapDispatchToProps)(App);
handleNdcChange = selectedNdc => {
        this.setState({ selectedNdc });

};

<Select
     value={this.state.selectedNdc}
     onChange={this.handleNdcChange}
     options={ndcOptions}
/>

1 Ответ

1 голос
/ 27 июня 2019

Когда вы добавляете метод внутри класса, этот метод является частью класса, например:

class Test extends React.Components {
  myMethod = () => {}
}

Как бы то ни было, поскольку mapStateToProps находится вне класса, его необходимо объявить, поэтому вам нужны const, var, let

Класс - это объект, поэтому myMethod в данном случае является частью этого объекта.

mapStateToProps находится вне класса, поэтому, поскольку он не является частью объекта, необходимо объявить

...