


현재 위치를 알려주는 요소
const [params, setParams] = useSearchParams({
pageNum: 1,
condition: "",
keyword: ""
});
//결과예시
/posts?pageNum=1
const move = (pageNum) => {
const query = new URLSearchParams(searchState).toString();
navigate(`/posts?pageNum=${pageNum}${searchState.condition && "&" + query}`);
};
<Pagination.Item
onClick={() => move(pageInfo.startPageNum - 1)}
disabled={pageInfo.startPageNum === 1}>
Prev
</Pagination.Item>
<Pagination.Item
onClick={() => move(pageInfo.endPageNum + 1)}
disabled={pageInfo.endPageNum === pageInfo.totalPageCount}>
Next
</Pagination.Item>
pageArray.map(item =>
<Pagination.Item
onClick={() => move(item)}
key={item}
active={pageInfo.pageNum === item}>
{item}
</Pagination.Item>
)
const [searchState, setSearchState] = useState({
condition: "",
keyword: ""
});

<button onClick={() => move(1)}>검색</button>
const handleReset = () => {
setSearchState({ condition: "", keyword: "" });
move(1);
};
페이징과 검색을 효과적으로 관리하려면 URL 기반의 상태 관리가 필수적 useSearchParams와 navigate을 활용하여 페이지와 검색 상태를 동적으로 변경하는 것이 중요
basic - static - smartEditor 폴더 복붙

처음에 textarea 를 초기화하여 smartEditor 로 설정

입력한 내용은 textarea 의 value 로 서버로 전송됨
SmartEditor에 입력된 HTML 내용을 textarea의 value로 동기화

스마트에디터 컨트롤러와 React 의 attach_photo.js 의 uploadURL 맞추기


