首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用React的窗口DeviceMotion事件

使用React的窗口DeviceMotion事件
EN

Stack Overflow用户
提问于 2022-01-17 17:06:06
回答 1查看 115关注 0票数 0

当我移动浏览器时,我无法在React应用程序中触发DeviceMotion函数。我使用window对象devicemotion事件来实现这个功能。

摘录自我的代码

代码语言:javascript
复制
export default function App() {
  const [x, setX] = useState("");
  const [y, setY] = useState("");
  const [z, setZ] = useState("");

  function handleMotionEvent(event) {
    console.log("handle motion event", event);

    var x = event.accelerationIncludingGravity.x;
    var y = event.accelerationIncludingGravity.y;
    var z = event.accelerationIncludingGravity.z;

    setX(x);
    setY(y);
    setZ(z);
  }

  useEffect(() => {
    window.addEventListener("devicemotion", handleMotionEvent, true);
  }, [x, y, z]);

  return (
    <div className="App">
      <h1>Device Motion</h1>
      <div>
        X - {x} Y - {y} Z - {z}
      </div>
    </div>
  );
}

我使用CodeSandbox创建了一个工作示例。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2022-09-02 15:34:35

问题是,您没有使用SSL证书,您必须设置您的react应用程序来使用SSL证书,这些说明可以在这个链接https://www.makeuseof.com/create-react-app-ssl-https/中找到,一旦您使用SSL证书运行,您的移动浏览器将读取de加速度计数据,我希望这会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70745017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档