Ich erhalte die Optionen für die automatische Vervollständigung von der API, und sie funktioniert perfekt und zeigt auch die von der API zurückgegebene ausgewählte Option an. Das Problem, mit dem ich konfrontiert bin, ist jedoch, dass dies nicht der Fall ist, egal, ob ich versuche, einen Wert (eine Kategorie) zu entfernen oder hinzuzufügen. Es werden keine Löschungen oder Ergänzungen vorgenommen.
Online-Demo-Codesandbox
PostInfo.jsx:
import SelectPostsCatsOptions from "../../components/autocomplete/SelectPostsCatsOptions"; import postInfo from "./postInfo.json"; export default function PostInfo() { const [categories, setCategories] = useState([]); const [selectedCategories, setSelectedCategories] = useState([]); useEffect(() => { const getPost = async () => { try { setCategories(postInfo[0].categories); setSelectedCategories(postInfo[0].categories); } catch (err) {} }; getPost(); }); return (<>); }>
Wählen Sie BeiträgeKatzenOptionen:
import categories from "./postsCategories.json"; export default function SelectPostsCatsOptions({ selectedCategories, setSelectedCategories, onChange, value }) { return (); }category.catName} options={categories} disableGutters isOptionEqualToValue={(option, value) => option.catName === value.catName } renderOption={(props, categories) => ( {categories.catName} )} renderTags={(value, getTagProps) => value.map((option, index) => ()) } renderInput={(params) => ( )} value={value} onChange={onChange} />
Ich weiß nicht, was mir hier fehlt, warum ich bei der automatischen Vervollständigung kein Tag hinzufügen oder daraus entfernen kann!
更新你的
useEffect
依赖数组。https://legacy.reactjs.org/docs/hooks-effect.html[]
意味着只在挂载时调用它在每次渲染时都会被调用