如何解决如何删除在React中创建的先前实例useEffect
这是我的useEffect()。我正在建立一个使用React和alan语音识别的网站。 useEffect()的作用是当某人进入该国家时创建一个基本上是按钮的alanBtn。现在的问题是,当用户选择另一个国家时,先前的按钮会停留在页面上,并在其上方新建一个按钮。 我想做的是,每当用户选择一个不同的国家/地区时,它都会破坏先前的按钮实例,然后创建一个新的按钮实例。
useEffect(() => {
alanbtn({
key: alanKey,onCommand: ({ command,articles,number }) => {
if (command === "newHeadlines") {
setNewsArticles(articles);
setActiveArticle(-1);
} else if (command === "highlight") {
setActiveArticle((prevValue) => prevValue + 1);
} else if (command === "open") {
const parseNumber =
number.length > 2
? wordsToNumbers(number,{ fuzzy: true })
: number;
const article = articles[parseNumber - 1];
if (parseNumber > 20) {
alanbtn().playText("Please try that again");
} else if (article) {
window.open(article.url,"_blank");
alanbtn().playText("Opening...");
}
}
},}).setVisualState({ answer: country });
},[country]);
国家/地区将作为道具传递给该组件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。