이 코드가 열 기반을 올바르게 정렬 할 수없는 이유는 무엇입니까?reactjs를 사용하는 다중 정렬 테이블
sort(key){
this.setState({
[`toggle-${key}`]: !this.state[`toggle-${key}`],
data: sortBy(this.state.data, [key], this.state[`toggle-${key}`]).map(v => v)
})
}
render() {
return (
<div style={styles}>
<table>
<thead>
{Object.keys(this.state.data[0]).map(v => {
return(
<th onClick={()=>this.sort(v)}>
{v.toUpperCase()}
</th>
)
})}
</thead>
<tbody>
{this.state.data.map(v=>{
return(
<tr>
<td>{v.id}</td>
<td>{v.name}</td>
</tr>
)
})}
</tbody>
</table>
</div>
);
}
상태 전환은 올바른 것으로 보이지만 반영은 처음에만 발생합니다.
https://codesandbox.io/s/zqno7m7j4p
은 true 및 false 아닌가요? 데모를 추가했습니다. 토글 할 수 있도록 정렬해야합니다. –
세 번째 인수는 인덱스를 원하는'this' 값을 나타냅니다. 그래도 코드가 작동하는 것 같습니다. 샌드 박스는 정상적으로 작동하는 것 같습니다. 두 행에 대한 정렬 작업이 진행 중입니다. –
@ KyleRichardson은 작동하지만 토글 할 수 없으므로 토글해야합니다. 또는 sortBy 대신 orderBy를 사용해야합니까? –