このライブラリでフックと状態を使用する方法はありますか? ドキュメントに例は見当たりませんでした。
こんにちは、はい、コンポーネントはクラスベースのコンポーネントと同様に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}
/>
</>);
}
この例を共有するために時間を割いていただきありがとうございます@kulahin
最も参考になるコメント