이제 해당 SelectColors에서 마우스 왼쪽 버튼을 클릭하면 큰 정사각형의 색상을 변경하고, 마우스 오른쪽 버튼을 클릭하면 작은 정사각형의 색상을 변경하도록 구현해 보겠습니다.

    components/SelectColors.js

    import React from 'react';
    import { ColorConsumer } from '../contexts/color';
     
    const colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet'];
     
    const SelectColors = () => {
      return (
        <div>
          <h2>색상을 선택하세요.</h2>
          <ColorConsumer>
            {({ actions }) => (
              <div style={{ display: 'flex' }}>
                {colors.map(color => (
                  <div
                    key={color}
                    style={{ background: color, width: '24px', height: '24px', cursor: 'pointer' }}
                    onClick={() => actions.setColor(color)}
                    onContextMenu={e => {
                      e.preventDefault(); // 마우스 오른쪽 버튼 클릭  메뉴가 뜨는 것을 무시함
                      actions.setSubcolor(color);
                    }}
                  />
                ))}
              </div>
            )}
          </ColorConsumer>
          <hr />
        </div>
      );
    };
     
    export default SelectColors;

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.