μ΅μ
λͺ©λ‘μ onInput 컀μ€ν
νΈλ€λ¬ https://github.com/i-like-robots/react-tags/blob/6.0/lib/ReactTags.js#L130 λ°λ‘ λ€μμ μ
λ°μ΄νΈλ©λλ€
κ·Έλ¬λ onInput νΈλ€λ¬ λ΄λΆμμ μλ²λ₯Ό 쿼리νλ©΄ μκ°μ΄ 걸립λλ€.
κ²°κ³Όμ μΌλ‘ μ΅μ
λͺ©λ‘μλ νμ μ΅κ·Ό νΈμΆμ΄ μλ μ΄μ νΈμΆμ μ μ λͺ©λ‘μ΄ ν¬ν¨λ©λλ€.
@yrikλ , λ°μ΄ν° κ°μ Έμ€κΈ°λ κ΅¬μ± μμμμ μ 곡νλ κ²μ΄ μλλΌ μ§μ ꡬνν©λλ€. κ°λ³ ꡬνμ λλ²κ·Έν μλ μμ§λ§ λͺ κ°μ§ μ‘°μΈμ μ 곡νκ² λμ΄ κΈ°μ©λλ€.
#205μ μμ μ΄μ΄ νμν΄μΌ ν κ²λ³΄λ€ λ λ§μ μ μμ κ°μ Έμ€λ κ²μ΄ μ’μ΅λλ€. μλ₯Ό λ€μ΄ νμ¬ 6κ°μ μ μμ νμνκ³ μλ€λ©΄ μλ²μμ 12 λλ 15λ₯Ό κ°μ Έμ 보μμμ€. μ΄λ° μμΌλ‘ suggestionsFilter
μλ μ λ°μ΄ν°κ° μμ λ λκΉμ§ μ¬μ©ν κ΄λ ¨ λ°μ΄ν°κ° λ¨μ μμ΄μΌ ν©λλ€.
λμμμ£Όμ
μ κ°μ¬ν©λλ€!
μ‘°κΈ λ€λ₯Έ λ¬Έμ μ
λλ€.
" λ§₯μ£Ό "λΌλ λ¨μ΄μ λν μλ μμ±μ΄ μλ€κ³ μμν΄λ³΄μμμ€.
[]
)onInput
κ° async
μ΄λ©΄ μλν©λλ€. λλ μ¬μ©μ μ μ onInput
μμ const options = getOptions.call(this, query)
λ₯Ό νΈμΆνλ λ°©λ²μ΄ μλ κ²½μ°μλ μλν©λλ€.
μκ² μ΅λλ€. λ°λΌμ νμ¬ μΏΌλ¦¬μ μΌμΉνμ§ μλ μ μμ΄ νμλ μ μμ΅λλ€. μ΄κ²μ΄ λ§μ΅λκΉ?
μ΄ μμ μ½λλ‘ λ¬Έμ λ₯Ό μ¬νν΄ λ³΄κ² μ΅λλ€.
μκ² μ΅λλ€. λ°λΌμ νμ¬ μΏΌλ¦¬μ μΌμΉνμ§ μλ μ μμ΄ νμλ μ μμ΅λλ€. μ΄κ²μ΄ λ§μ΅λκΉ?
μ νν! μ κ²½μ°μλ κ±°μ νμ μ΄μ 쿼리μ κ²°κ³Όλ₯Ό 보μ¬μ€λλ€. μλ΅μ΄ λΈλΌμ°μ μ μΊμλμ΄ μ¦μ λ°νλλ κ²½μ°λ μ μΈν©λλ€.
jsfiddleμ μ¬μ©νμ¬ λ€μ λ§λ€λ €κ³ νμ§λ§ libλ₯Ό μ λλ‘ μ°κ²°νμ§ λͺ»νμ΅λλ€.
jsfiddleμ μ΄ νλ¬κ·ΈμΈμ κΈ°λ³Έ μμ κ° μλ κ²½μ° μλ² μΈ‘ μλ μμ± μμ λ‘ νμ₯ν μ μμ΅λλ€.
λν λ΄κ° v6μ μ¬μ©νκ³ μμΌλ©° κ·νκ° κ°μ§κ³ μλ μμ λ μ΄μ λ²μ κ³Ό λΉμ·νλ€λ μ μ μ£Όλͺ©ν κ°μΉκ° μμ΅λλ€.
"λ°μ νκ·Έ μλ μμ±": "6.0.0-λ² ν.5"
λλ μ΄ λ¬Έμ κ° μ΅κ·Ό λ° ν₯ν λ²μ μ Reactμ λ³κ²½μΌλ‘ μΈν΄ componentWillReceiveProps()
λ₯Ό νΌνλ €λ λ°λμΌλ‘ v6μ λμ
λμλ€κ³ μκ°ν©λλ€. μ λ²μ μμλ μ μ μν λ³κ²½μ μ€λͺ
νμ§ μλ λ§μ΄νΈ λ° onInput
μμλ§ μ
λ°μ΄νΈλλλ‘ μ μμ 리ν©ν λ§νμ΅λλ€.
getDerivedStateFromProps()
λ₯Ό μ¬μ©νμ¬ ν΄κ²°ν μ μμ§λ§ μ΄ μ κ·Ό λ°©μμ λΆνμν λ λλ§μ λ°©μ§νκΈ° μν΄ μ½κ°μ μ΅μ νκ° νμνλ€κ³ μκ°ν©λλ€.
static getDerivedStateFromProps (props, state) {
const options = getOptions(props, state)
return { options }
}
λλ μ΄κ²μ λν΄ λͺ λΆμ 보λκ³ μ μ ν μ루μ μ μκ°ν΄ λλ€κ³ μκ°ν©λλ€. μλ μ λλ©μ΄μ μ μ μ μνμ΄ λΉλκΈ°μμΌλ‘ μ λ°μ΄νΈλκ³ μ΅μ λͺ©λ‘μ΄ λ€λ₯Έ μ λ ₯ μμ΄ μ λ°μ΄νΈλλ κ²μ 보μ¬μ€λλ€.
λ³κ²½ μ¬νμ λ§€μ° κ°λ¨νλ―λ‘ μ’ λ ν μ€νΈνκ³ PRμ μ¬λ¦΄ κ²μ λλ€.
useEffect
μ΅μ
λ³κ²½μ λͺ¨λν°λ§ν μ μμΌλ―λ‘ μ΄λ₯Ό μ μ²λ¦¬ν΄μΌ νλ€κ³ μκ°ν©λλ€.
useEffect(() => {
setOptions(getOptions(props, state))
}, [options]);
μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν΄μΌ νλ v6.0.0-beta.6
λ₯Ό μΆμνμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
λλ μ΄κ²μ λν΄ λͺ λΆμ 보λκ³ μ μ ν μ루μ μ μκ°ν΄ λλ€κ³ μκ°ν©λλ€. μλ μ λλ©μ΄μ μ μ μ μνμ΄ λΉλκΈ°μμΌλ‘ μ λ°μ΄νΈλκ³ μ΅μ λͺ©λ‘μ΄ λ€λ₯Έ μ λ ₯ μμ΄ μ λ°μ΄νΈλλ κ²μ 보μ¬μ€λλ€.
λ³κ²½ μ¬νμ λ§€μ° κ°λ¨νλ―λ‘ μ’ λ ν μ€νΈνκ³ PRμ μ¬λ¦΄ κ²μ λλ€.