搜索
未捕获的类型错误:tags.join不是一个函数。
P粉729436537
P粉729436537 2023-07-28 13:59:53
[React讨论组]
<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 = () =&gt; { const [tags, setTags] = useState(""); const tagsString = tags.join(", "); // Fetching tags from backend and storing into setTags setTags(&lt;some_code_for_axios_get&gt;) return( &lt;div&gt; &lt;FormControl fullWidth margin="normal"&gt; &lt;TagsInput label="Tags" size="small" value={tagsString} onChange={setTags} placeHolder="Type your tag and press enter" /&gt; &lt;/FormControl&gt; &lt;/div&gt; ) }</pre> <p>还尝试了以下方法,并得到了n.map不是一个函数的错误消息:</p> <pre class="brush:php;toolbar:false;">&lt;div className="tags"&gt; {tags.length ? tags.map((type, i) =&gt; ( &lt;TagsInput key={i} label="Tags" size="small" value={i} onChange={setTags} placeHolder="Type your tag and press enter" /&gt; )) : &lt;TagsInput label="Tags" size="small" value={tags} onChange={setTags} placeHolder="Type your tag and press enter" /&gt; } &lt;/div&gt;</pre> <p>使用以下代码,我可以在控制台中看到数据:</p> <pre class="brush:php;toolbar:false;">tags.forEach((element) =&gt; { 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 ""

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号