νκΈ° μ€μλ νκΈ°λΌκ³ ν΄μ SNUTT 리λ΄μΌ μμ μ μνν νλλ°, μ μ λ°©νμ΄ μμνλκΉ λ€λ¦κ² λνμμ 체ννκ² λ€κ³ μμν λ©μΈν΄μ΄ μκ°λ³΄λ€ λ°λΉ μ κΎΈμ€ν 컀λ°μ νμ§ λͺ»νλ€. κ·Έλλ μ’μμΌλ©΄ μκ°μ μ²μΈλ° κ·ΈλκΉμ§ μμ±μ νμ§ λͺ»νλλΌλ μ‘°κΈμ© μ§μ μ 보μ¬μΌ κ°μ΄ μμ νλ λμλΆλ€μκ² λ λ―Έμν κ² κ°μ κ·Έλμμ λμ μλ νΉμ μκ°λλ₯Ό μ νν΄μ κ²μνλ λΆλΆμ μ§λ³΄κΈ°λ‘ νλ€. μ¬μ€ μ΄ λΆλΆμ μμ μ ν λ² μ§μ μ λμκ°μλλ°, μ½λκ° λ무λλ μ§μ λΆν΄μ λ€μ μ§λ κ²μ΄λ€.
μ€ν?μ κ°λ¨νλ€. κ·Έλ₯ λΉμΉΈμ λ§μ°μ€λ₯Ό λλκ·Ένλ©΄ μΉΈμ΄ μ νλκ³ , μ νλ μΉΈμμ λλκ·Έλ₯Ό μμνλ©΄ μμ λͺ¨λκ° λμ΄ μ νμ΄ μ·¨μλλ€. Redux μ½λλ€μμ λ§μ΄ νλλλ‘
const TableState = {
SELECTING: 'SELECTING',
DELETING: 'DELETING',
CALM: 'CALM',
}
const CellState = {
EMPTY: 'EMPTY',
SELECTED: 'SELECTED',
SELECTING: 'SELECTING',
DELETING: 'DELETING',
UNABLED: 'UNABLED',
}
ν μ΄λΈκ³Ό μ μ μνλ₯Ό 미리 μ ν΄λκ³ ,
this.handleMouseDown = this.handleMouseDown.bind(this)
this.handleMouseUp = this.handleMouseUp.bind(this)
this.handleMouseEnter = this.handleMouseEnter.bind(this)
this.state = {
tableState: TableState.CALM,
dragInit: { row: -1, col: -1 },
cellStateTable: new Array(this.props.row).fill(
new Array(this.props.col).fill(CellState.EMPTY)
),
}
λͺ¨λμ΄ λλκ·Έκ° μ΅μ΄λ‘ μμνλ μ§μ , ν
μ΄λΈμ μ 체 μν, κ·Έλ¦¬κ³ κ°κ°μ μ
μ μνλ₯Ό state λ‘ κ°μ§κ³ μ, μ
λ€μ μ΄λ²€νΈκ° λ°μν λ λ§λ€ μ
μ μν
X ν
μ΄λΈμ μν
λ‘ λ€μ μνλ₯Ό λ§λ€μ΄ μ£Όλ©΄ λ κ² κ°μλ€.
κ·Έλμ μ€μ μλλ κ² μ²λΌ 보μμΌλβ¦
μμμ΄ μ»€μ‘λ€κ° μ€μ΄λ€ κ²½μ° ν λ² βSELECTINGβλ βDELETINGβμΌλ‘ λ³ν μ λ€μ΄ λ€μ μλ μνλ‘ λμκ° λ°©λ²μ΄ μλ€.
κ²°κ΅ μ λ€μ μ ν μ¬λΆμ λλκ·Έλ μ λ€μ μνλ μλ‘ λ€λ₯Έ νμ μ μ₯νκ±°λ, 00, 01, 10, 11 μ΄λ° μμΌλ‘λ λΆλ¦¬λ₯Ό νμ΄μΌνλλ° μ²μμ κ·Έ μκ°μ λͺ»νκ³ , μΌλ¨ μ§κ³ λμμΌ μ³μ λ°©ν₯μ κΉ¨λ¬μ μ μμλ€.
μμ¦ νλ μΈν΄λ λ§μ°¬κ°μ§. κ΅μλλ€κ³Ό μ£Όλ³ λΆλ€μ΄ λ€λ€ ν룑νμκ³ , λμ μ νκ²½λ λ무 μ’μ§λ§ μ¬μ€ 4 λ λ΄λ΄ μ°κ΅¬μ λ΄μ μκ³ μ΄λ€κ° κ°μκΈ° ν₯λ―Έλ₯Ό λ³΄μΌ νλ₯ μ μ κ³ , ν΄λ³΄λκΉ μ€μ λ‘λ κ·Έλ λ€. κ·Έλλ λ§μ°ν μκ°νλ κ²κ³Ό, μμ μ΄μ΄μ΄λΌλ κ²½νν΄λ³΄λ κ²μλ ν° μ°¨μ΄κ° μλ€.
μλ Iterative ν μ κ·Όμ μ’μνκ³ , μΆλ κ·ΈλμΌνλ€κ³ μκ°νμ§λ§ ν μ¬λμκ² μ£Όμ΄μ§ μκ°μ μ νν κ²λ μ¬μ€μ΄λ€. ν΄λ³΄μ§ μκ³ μ μ μλ€λ©΄, λ§μ΄ νλ μλ°μ.
update) κ²°κ΅ μ μ΄ μ νλλ, μλλλ§ μ μ₯νκ³ λλκΉ μ¬λΆλ κ·Έλ₯ μμ~λλ§ μ μ₯ν ν κ·Έλκ·Έλ 체ν¬νλ κ²μΌλ‘ λ°κΏ¨λ€κ³ ν©λλ€γ γ . μ΄μ°¨νΌ λλκ·Έν λλ§λ€ λ°λλ μ 보λΌμ λ°λ‘ μ μ₯ν νμλ₯Ό λͺ»λκΌλ€κ³ β¦