我的代码是这样的:
从“react”导入React,{ useEffect };
import alanBtn from '@alan-ai/alan-sdk-web';
const alanKey = my key;
const App = () => {
useEffect(() => {
alanBtn({
key: alanKey,
onCommand: ({ command }) => {
alert('This code was executed');
}
})
}, []);
return (
<div><h1>Alan AI News Application</h1></div>);
}
export default App;但我得到的错误是:引用错误:未定义的导航器。怎么修呢?
发布于 2021-04-03 14:52:12
在使用之前,应该先在window、navigator等浏览器对象中定义useEffect。
const [pageURL, setPageURL] = useState("");
const [isNativeShare, setNativeShare] = useState(false);
useEffect(() => {
setPageURL(window.location.href);
if (navigator.share) {
setNativeShare(true);
}
}, []);
// Now, use can use pageURL , isNativeShare in code发布于 2020-08-22 17:44:27
这不是您的Next.js代码的问题,它只是您应该调用alan库的方式。
下面是应该对您有效的解决方案。
import React, { useEffect } from "react";
const alanKey = "my key";
function App() {
useEffect(() => {
const alanBtn = require("@alan-ai/alan-sdk-web");
alanBtn({
key: "myKey",
rootEl: document.getElementById("alan-btn")
});
}, []);
return (
<div>
<h1>Alan AI News Application</h1>
</div>
);
}
export default App;下面是同一个https://github.com/alan-ai/alan-sdk-web/issues/29#issuecomment-672242925的讨论链接。
希望这能解决你的问题。
编码愉快。
https://stackoverflow.com/questions/63536562
复制相似问题