[javascript] Parcel에서 Redux를 사용하는 방법은?
  1. 의존성 설치:
    npm install redux react-redux
    
  2. Redux Store 생성: Redux 애플리케이션의 상태를 저장하는 Redux Store를 생성해야 합니다. src 디렉토리에 store.js 파일을 생성하고 다음과 같은 코드를 추가합니다.

    import { createStore } from 'redux';
    import rootReducer from './reducers';
    
    const store = createStore(rootReducer);
    
    export default store;
    
  3. Reducer 작성: Reducer는 애플리케이션의 상태를 변경하는 로직을 포함하는 함수입니다. src 디렉토리에 reducers.js 파일을 생성하고 필요한 Reducer를 작성합니다.

    import { combineReducers } from 'redux';
    import counterReducer from './counterReducer';
    
    const rootReducer = combineReducers({
      counter: counterReducer
    });
    
    export default rootReducer;
    
  4. Reducer 구현: src 디렉토리에 counterReducer.js 파일을 생성하고 다음과 같은 코드를 추가합니다.

    const counterReducer = (state = 0, action) => {
      switch (action.type) {
        case 'INCREMENT':
          return state + 1;
        case 'DECREMENT':
          return state - 1;
        default:
          return state;
      }
    }
    
    export default counterReducer;
    
  5. 컴포넌트와 Redux 연결: Redux를 사용할 컴포넌트를 만들어야 합니다. 예를 들어, src 디렉토리에 Counter.js 파일을 생성하고 다음과 같은 코드를 추가합니다.

    import React from 'react';
    import { connect } from 'react-redux';
    
    const Counter = ({ count, increment, decrement }) => (
      <div>
        <h1>{count}</h1>
        <button onClick={increment}>Increment</button>
        <button onClick={decrement}>Decrement</button>
      </div>
    );
    
    const mapStateToProps = state => ({
      count: state.counter
    });
    
    const mapDispatchToProps = dispatch => ({
      increment: () => dispatch({ type: 'INCREMENT' }),
      decrement: () => dispatch({ type: 'DECREMENT' })
    });
    
    export default connect(mapStateToProps, mapDispatchToProps)(Counter);
    
  6. 애플리케이션에서 Redux Store 사용: 애플리케이션의 엔트리 포인트로 사용되는 파일에서 Redux Store를 사용하도록 설정해야 합니다. 예를 들어, src 디렉토리의 index.js 파일에서 다음과 같은 코드를 추가합니다.

    import React from 'react';
    import ReactDOM from 'react-dom';
    import { Provider } from 'react-redux';
    import store from './store';
    import Counter from './Counter';
    
    ReactDOM.render(
      <Provider store={store}>
        <Counter />
      </Provider>,
      document.getElementById('root')
    );
    

위의 단계를 따라서 Redux를 사용할 수 있게 되었습니다. 이제 Parcel을 실행하여 애플리케이션을 번들링하고 실행시킬 수 있습니다.

더 자세한 내용은 Redux 공식 문서를 참조하시기 바랍니다.