Problem&Solution

Problem&Solution

Typescript 인덱싱 에러

const [isChecked, setIsChecked] = useState({ isExpiration: false, isPassword: false, }); const handleCheckbox = (name: string) => { setIsChecked(prev => ({ ...prev, [name]: !prev[name], }));}; handleCheckbox('isPassword')}> {isChecked.isPassword && } 이런 코드가 있는데 !prev[name] 부분에서  Element implicitly has an 'any' type because expression of type 'string' can't be used to in..

Problem&Solution

IME과 textarea enter처리

enter를 치면 input창이 클릭되도록 하는 함수를 만들었다. keyup될 때 구현했는데 영어는 괜찮은데 자꾸 한글이 씹하는(?) 현상이 발생했다.   const handleKeyUp = (e: KeyboardEvent) => { if (textareaRef.current) { const maxHeight = 4 * 22; // 최대 4줄, 줄당 22px if (e.key === 'Enter') { e.preventDefault(); if (e.ctrlKey) { if (textareaRef.current.scrollHeight  알고보니 버튼이 두번 클릭되는 문제였다.  그럼 왜 영어는 괜찮은데 한글은 두번 클릭되는 현상이 발생할까? 바로 IME(입력기)가 작..

Problem&Solution

react-query, retetchOnWindowFocus

react-query 비동기 함수가 돌아가고 있을 때 다른 브라우저 창을 갔다가 돌아오면 focus가 다시 되니까 리액트 쿼리가 retetchOnWindowFocus의 기본 값으로  messageList를 다시 불러와, 메시지 답변이 왔음에도 불구하고 메시지를 run 시키는 함수는 계속 돌아가고 있어 isAnswerLoading이 false가 아닌 true로 되어지는 문제 발생.   useEffect(() => { if (!runId || !threadId) return; const checkRunStatus = async () => { const runStatus = await refetchRetrieveRun(); if (runStatus?.data?.status === 'completed..

Problem&Solution

react 버그 해결

{localMessageList?.map((message: ResGetMessageListDataType) => ( {message.content[0]?.text?.value && ( {parse( handleTextMessage(message.content[0].text.value,message.attachments?.[0]?.file_id), )} )} ))}   ProblemhandleTextMessage(message.content[0].text.value,message.attachments?.[0]?.file_id) 이렇게 handleTextMessage에 메시지 값이랑 메시지 파일 아이디를 넣어서 state로 fileId를 저장하..

*히아*
'Problem&Solution' 카테고리의 글 목록 (2 Page)