小编SOU*_*PTA的帖子

为什么 JavaScript 中的 typeof(array) 类型是对象而不是数组?

无论我们检查数组还是对象的类型,它总是在 JavaScript 中打印对象。为什么这样?

let arr=[1,3,4];
let obj={1:"44",num:44};

console.log(typeof(arr)) //object
console.log(typeof(obj)) //object
Run Code Online (Sandbox Code Playgroud)

有什么方法可以将 typeof(array) 视为数组吗?

javascript arrays typeof object

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

每秒更新 useEffect 中的状态,持续 10 秒

通过不深入实际用法,我创建了一个简单的示例来解释我想要做什么。

我有一个状态对象{num:0},我想在 10 秒内每秒更新一次 num,据此,我创建了一个工作完美的类组件。

class App extends React.Component {
  constructor() {
    super();
    this.state = {
      num: 0
    };
  }

  componentDidMount = () => {
    for (let i = 0; i < 10; i++) {
      setTimeout(() => this.setState({ num: this.state.num + 1 }), i * 1000);
    }
  };

  render() {
    return (
      <>
        <p>hello</p>
        <p>{this.state.num}</p>
      </>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我想在功能组件中复制相同的功能,但我做不到。我尝试如下图所示:

const App = () => {
  const [state, setState] = React.useState({ num: 0 });

  React.useEffect(() => {
    for …
Run Code Online (Sandbox Code Playgroud)

javascript settimeout reactjs react-hooks use-effect

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