小编Sha*_*chi的帖子

列出chromes注册服务人员

有没有办法列出所有浏览器注册的服务工作者?可以说我已经注册/安装了一些服务人员.我可以通过js获取一个文件名列表吗?

javascript arrays google-chrome service-worker

10
推荐指数
3
解决办法
5218
查看次数

如何使用 React 功能挂钩在异步操作后获取更改的状态

如何使用 React 功能挂钩在异步操作后获取更改的状态?我已经为这个问题找到了一个 redux 解决方案,或者一个 react 类组件解决方案,但我想知道是否有一个简单的 react 功能解决方案。

这是场景:

  • 创建一个功能性的反应组件。几个州
  • 创建多个按钮元素,每个元素都会改变不同的状态。
  • 使用按钮元素之一,触发异步操作。
  • 如果状态有任何其他变化,在从异步函数接收结果之前,中止所有其他持续操作。

附上代码沙箱示例 https://codesandbox.io/s/magical-bird-41ty7?file=/src/App.js

import React, { useState } from "react";
import "./styles.css";

export default function App() {
  const [counter, setCounter] = useState(0);
  const [asyncCounter, setAsyncCounter] = useState(0);
  return (
    <div className="App">
      <div>
        <button
          onClick={async () => {
            //sets the asyncCounter state to the counter states after a 4 seconds timeout
            let tempCounter = counter;
            await new Promise(resolve => {
              setTimeout(() => {
                resolve();
              }, 4000);
            });
            if …
Run Code Online (Sandbox Code Playgroud)

javascript state functional-programming async-await reactjs

8
推荐指数
1
解决办法
596
查看次数

Shadow dom 隐藏了innerHTML

创建带有 shadow dom 的自定义元素并设置元素的 innerHTML 时,它不会显示。为什么?有没有办法防止这种情况发生?

//JS代码

export default class VideoPlayer extends DomElement {
   constructor() {
      super();
      const mountPoint = document.createElement('div');
      this.attachShadow({ mode: 'open' }).appendChild(mountPoint);
  }
}
window.customElements.define('video-player', VideoPlayer);
Run Code Online (Sandbox Code Playgroud)

//HTML代码

<video-player>Why is this text hidden?</video-player>
Run Code Online (Sandbox Code Playgroud)

javascript innerhtml web-component shadow-dom custom-element

3
推荐指数
1
解决办法
1107
查看次数