キャッチされない TypeError: tags.join は関数ではありません。
P粉729436537
2023-07-28 13:59:53
<p>配列に複数のタグが格納されたページがあります。ページを編集したいのですが、タグ配列を TagsInput にロードしようとすると、次のエラー メッセージが表示されます。 </p>
<pre class="brush:php;toolbar:false;">Uncaught TypeError: tags.join は関数ではありません</pre>
<p>このエラーに関連するコード スニペットは次のとおりです: </p>
<pre class="brush:php;toolbar:false;">import { TagsInput } from "react-tag-input-component";
const UpdatePage = () => {
const [タグ, setTags] = useState("");
const tagsString = tags.join(", ");
// バックエンドからタグを取得し、setTags に保存します
setTags(<axios_get 用のコード>)
戻る(
<div>
<FormControl fullWidth margin="normal">
<タグ入力
label="タグ"
サイズ = "小さい"
値={タグ文字列}
onChange={setTags}
placeHolder="タグを入力して Enter キーを押してください"
/>
</FormControl>
</div>
)
}</pre>
<p>次のことも試しましたが、n.map は関数ではないというエラー メッセージが表示されました: </p>
<pre class="brush:php;toolbar:false;"><div className="tags">
{タグ.長さ
? tags.map((type, i) => (
<タグ入力
キー={i}
label="タグ"
サイズ = "小さい"
値={i}
onChange={setTags}
placeHolder="タグを入力して Enter キーを押してください"
/>
))
: <タグ入力
label="タグ"
サイズ = "小さい"
値={タグ}
onChange={setTags}
placeHolder="タグを入力して Enter キーを押してください"
/>
}
</div></pre>
<p>次のコードを使用すると、コンソールにデータを表示できます。</p>
<pre class="brush:php;toolbar:false;">tags.forEach((element) => {
console.log(要素);
});</pre>
<p><br /></p>
次の行によると、タグは配列ではなく文字列です:
リーリー何が起こっても、
になりますsetTags(<some_code_for_axios_get>)
、最初のレンダリングでは、tags
は""