未捕獲的類型錯誤:tags.join不是一個函數。
P粉729436537
P粉729436537 2023-07-28 13:59:53
0
1
498
<p>我有一個頁面,其中有多個標籤儲存在一個陣列中。我想編輯該頁面,並嘗試將標籤數組加載到TagsInput中時,出現以下錯誤訊息:</p> <pre class="brush:php;toolbar:false;">Uncaught TypeError: tags.join is not a function</pre> <p>以下是與此錯誤相關的程式碼片段:</p> <pre class="brush:php;toolbar:false;">import { TagsInput } from "react-tag-input-component"; const UpdatePage = () => { const [tags, setTags] = useState(""); const tagsString = tags.join(", "); // Fetching tags from backend and storing into setTags setTags(<some_code_for_axios_get>) return( <div> <FormControl fullWidth margin="normal"> <TagsInput label="Tags" size="small" value={tagsString} onChange={setTags} placeHolder="Type your tag and press enter" /> </FormControl> </div> ) }</pre> <p>也嘗試了以下方法,得到了n.map不是一個函數的錯誤訊息:</p> <pre class="brush:php;toolbar:false;"><div className="tags"> {tags.length ? tags.map((type, i) => ( <TagsInput key={i} label="Tags" size="small" value={i} onChange={setTags} placeHolder="Type your tag and press enter" /> )) : <TagsInput label="Tags" size="small" value={tags} onChange={setTags} placeHolder="Type your tag and press enter" /> } </div></pre> <p>使用以下程式碼,我可以在控制台中看到資料:</p> <pre class="brush:php;toolbar:false;">tags.forEach((element) => { console.log(element); });</pre> <p><br /></p>
P粉729436537
P粉729436537

全部回覆(1)
P粉533898694

標籤不是一個數組,它們是一個字串,根據這一行:

const [tags, setTags] = useState("");

無論發生什麼情況 setTags(<some_code_for_axios_get>), the first render, tags will be ""

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!