ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠΊΠΈ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Ρ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ? Π― Π½Π΅ Π²ΠΈΠ΄Π΅Π» ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΡΠΈΠ²Π΅Ρ, Π΄Π°, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ useState()
ΡΠ°ΠΊ ΠΆΠ΅ Ρ
ΠΎΡΠΎΡΠΎ, ΠΊΠ°ΠΊ ΠΈ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»Π°ΡΡΠΎΠ².
Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΡΠΊΠΎΠ²? Π― Ρ ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΡΠΊΠΎΠ²? Π― Ρ ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
import React, { useState, useRef } from 'react'
export default function MyForm() {
const tagsInput = useRef(null);
const [tags, setTags] = useState([]);
const [suggestions, setSuggestions] = useState([]);
const [tagAutocompleteBusy, setTagAutocompleteBusy] = useState(false);
async function onTagInput(query) {
if (!tagAutocompleteBusy) {
setTagAutocompleteBusy(true);
const result = await fetch(`/tags/autocomplete?term=${query}`);
setSuggestions(result.data);
setTagAutocompleteBusy(false);
return result;
}
}
const onTagDelete = (i) => {
setTags(() => {
tags.splice(i, 1);
return tags;
});
}
const onTagAddition = (tag) => {
setTags(() => {
return [...tags, tag];
});
}
return (<>
<ReactTags
ref={tagsInput}
tags={tags}
suggestions={suggestions}
onDelete={onTagDelete}
onAddition={onTagAddition}
onInput={onTagInput}
/>
</>);
}
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π½Π°ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ