programing

const 또는 in React 컴포넌트

golfzon 2023. 3. 20. 23:48
반응형

const 또는 in React 컴포넌트

예를 들어 React 컴포넌트가 있다고 칩시다.덤덤이든 아니든 상관없습니다.스토어에서 뭔가를 가져와 변수에 넣으면 코드가 좀 더 간결해집니다.const로 할까요, let으로 할까요?분명히 상태가 바뀔 것이다.

여기 제가 말하는 것의 예가 있습니다.myValues는 사용자가 내 앱과 상호작용함에 따라 변화한다는 것을 다시 한 번 강조하고 싶다.

class MyComponent extends Component {

    render() {

        // Here, should I use const or let?
        const myValues = this.props.someData;

        return(
            <div>

            {myValues.map(item => (
                    <SomeOtherComponent key={item.id} data={item} />
                ))}

            </div>
        );
    };
}

function mapStateToProps(state) {
    return {
        someData: state.someValuesComingFromApi
    }
}

export default connect(mapStateToProps)(MyComponent)

const 변수가 재할당되지 않는다는 신호입니다.

let 변수가 재할당될 수 있다는 신호입니다.

기타 고려해야 할 사항:

  • 사용하다const디폴트로는
  • 사용하다let재바인딩이 필요한 경우에만
  • const는 값이 '불변' 또는 '불변'임을 나타내지 않습니다.

    const foo = {};
    foo.bar = 10;
    console.log(foo.bar); // --> 10
    

    오직 구속만이 불변의 것이다.즉, const 변수에서 할당 연산자 또는 unary 또는 postfix -- 또는 ++ 연산자를 사용하면 TypeError 예외가 발생합니다.

  • ES6const그리고.let들어 올려져 있습니다.식별자는 컴파일 시 동일한 메모리 참조를 가지지만 코드 내의 선언 전에는 액세스할 수 없습니다.(그러나 선언이 물리적으로 스코프 상단으로 이동한다고 생각했던 것은 아닙니다.)

constlet대부분 코드 블록의 "변경"과 관련이 있습니다.다음과 같은 경우에만 문제가 됩니다.

const myValues = this.props.someData;
if (*some condition*) {
  myValues = [];
}

이 상황에서는 변수에 할당된 값을 변경하기 때문에 let을 사용해야 합니다.myValues:

let myValues = this.props.someData;
if (*some condition*) {
  myValues = [];
}

한다면props.someData를 변경하면 컴포넌트가 재인식됩니다.그래서 const vs let은 놀러 오지 않는다.전체render메서드가 다시 실행됩니다.

그래서 이렇게 말하고, 나는const당신이 설명하는 상황에서요.변수의 가치를 직접 조작하지 않는 한const.

ESLint 규칙을 참고해 봅시다.이 문제에 대한 설명은 항상 잘 되어 있습니다.

추가할 수 있는 것은 다음과 같습니다.

모든 변수를 로 시작하는 것을 선호합니다.const 잘 모르겠으면

나중에 뮤트해도 디버거에 의해 알려집니다.

  • 컨스턴트

    content의 줄임말로 변수 값이 변경되지 않음을 나타냅니다.

  • 허락하다

    반대입니다. 즉, 변수의 값이 변화합니다.

  • 변화하다

    둘 사이에 중립적일 뿐이죠

언급URL : https://stackoverflow.com/questions/40825010/const-or-let-in-react-component

반응형