Skip to content

Conversation

codeisneverodd
Copy link
Member

๊ฐœ์š”

input์— ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์•„๋ž˜์— ์„ ํƒ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ ํ•ญ๋ชฉ์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค!
แ„€แ…ฅแ†ทแ„‰แ…ขแ†จแ„€แ…ตแ„‚แ…ณแ†ผ

์ฃผ์š” ๊ตฌํ˜„ ์‚ฌํ•ญ

1. ํ•ด์„ค ๋ชฉ๋ก ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ solutionListState ์ „์—ญ์ƒํƒœ ์ถ”๊ฐ€

ํ•ด๋‹น ์ „์—ญ ์ƒํƒœ๋Š” ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

2. useFetchsolutionList ํ›… ๋กœ์ง

ํ•ด๋‹น ํ›…์€ src/hooks/solutionList ์— ์žˆ์œผ๋ฉฐ ๋กœ์ง์€

  1. ๋ ˆ๋ฒจ ๋ณ„๋กœ api ํ˜ธ์ถœ์„ ํ•œ๋‹ค.
  2. ํ˜ธ์ถœ๋œ ๊ฐ’์—์„œ 00-ํ•ด๋‹ต-์˜ˆ์‹œ.js ๋ฅผ ์ œ์™ธํ•œ ํ•ด์„ค๋“ค์—์„œ name, level ๋งŒ ๋นผ๋‚ด์–ด solutionList์— ์ €์žฅํ•œ๋‹ค. (๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•ด์ง€๋ฉด ์ด๊ณณ์—์„œ ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋  ๊ฒƒ ์ž…๋‹ˆ๋‹ค.)
  3. solutionList๋ฅผ level ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค
    ์ž…๋‹ˆ๋‹ค.

3. QuestionInputAndList ์ปดํฌ๋„ŒํŠธ ํ™”

@chaerin-dev ์ด ๋ถ€๋ถ„ ์ค‘์ ์ ์œผ๋กœ ๋ด์ฃผ์„ธ์š”! ์šฐ์„  ๋กœ์ง์€

  1. input ์˜ ๊ฐ’์ด ๋ณ€ํ•˜๋ฉฐhandleQuestionNameInput ๊ฐ€ ์‹คํ–‰๋˜๊ณ , solutionList ๋ฅผ ์ •๊ทœํ‘œํ˜„์‹(ํ•œ๊ธ€๊ฒ€์ƒ‰)์„ ํ†ตํ•ด filtering ํ•œ questionList๋ฅผ ์ˆ˜์ •ํ•œ๋‹ค.
  2. ๊ฐ QuestionBtn ๋“ค์€ data-value๋กœ name ์„ ๊ฐ€์ง€๋ฉฐ, ํด๋ฆญ ์‹œ questionName ์ƒํƒœ๋ฅผ ํ•ด๋‹น name ์œผ๋กœ ๋ณ€ํ™”์‹œํ‚จ๋‹ค.
    ์ž…๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ์—๋Š” onQuestionNameChange ๋ผ๋Š” props ๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด ๋ฅผ ํ†ตํ•ด ํŽ˜์ด์ง€์—์„œ ์ปดํฌ๋„ŒํŠธ์˜ questionName ๊ฐ’์„ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์˜ˆ์‹œ

function handleQuestionNameChange(์ปดํฌ๋„ŒํŠธ์˜ questionName) {
    console.log(์ปดํฌ๋„ŒํŠธ์˜ questionName);
  }
<QuestionInputAndList onQuestionNameChange={handleQuestionNameChange}/>

ํ•ด๊ฒฐํ•ด์•ผํ•  ๋ฌธ์ œ

  1. Input์˜ Focus๊ฐ€ ์‚ฌ๋ผ์กŒ์„ ์‹œ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค! ์ด์œ ๋Š” input์— onBlur ํ•จ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๊ณ  onBlur์‹œ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด์ด์ง€ ์•Š๊ฒŒํ•˜๋ฉด, ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ๋ฆฌ์ŠคํŠธ์˜ onClick ์ด๋ฒคํŠธ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. input์˜ onBlur๊ฐ€ QuestionBtn์˜ onClick ํ•จ์ˆ˜๋ณด๋‹ค ์šฐ์„ ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ์ „ ๊ณผ์ œ์ค‘ ๋‹ฌ๋ ฅ๋งŒ๋“ค๊ธฐ ๊ณผ์ œ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ๋„์›€์ด ๋  ์ˆ˜๋„ ์žˆ๊ฒ ๋„ค์š”!

@codeisneverodd codeisneverodd added the ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ํ•˜์˜€์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. label Jul 21, 2022
@codeisneverodd codeisneverodd self-assigned this Jul 21, 2022
@netlify
Copy link

netlify bot commented Jul 21, 2022 โ€ข

โŒ Deploy Preview for solutionbank-web failed.

Name Link
๐Ÿ”จ Latest commit 567d1c6
๐Ÿ” Latest deploy log https://app.netlify.com/sites/solutionbank-web/deploys/62d8b814d7a0960008264892

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ํ•˜์˜€์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant