小编Vas*_*iak的帖子

React-navigation-hooks:如何测试 useFocusEffect

据我了解,应该这样做,以便 useFocusEffect 可以作为 useEffect 进行测试(模拟)。我使用 useFocusEffect 来获取数据:

useFocusEffect(
  useCallback(() => {
    fetchData();
  }, [fetchData]),
);
Run Code Online (Sandbox Code Playgroud)

错误消息: react-navigation 挂钩需要导航上下文,但无法找到。确保您没有忘记创建和渲染反应导航应用程序容器。如果需要访问可选的导航对象,可以使用useContext(NavigationContext),它可能会返回

封装版本:

"jest": "^24.9.0",
"react-native": "0.61.2",
"react-navigation": "^4.0.10",
"react-navigation-hooks": "^1.1.0",
"@testing-library/react-native": "^4.0.14",
Run Code Online (Sandbox Code Playgroud)

unit-testing jestjs react-native react-navigation

9
推荐指数
2
解决办法
4144
查看次数

如何在 React js 中使用 forEach

我想创建一个函数,它迭代具有相同类的所有元素并删除特定类。

使用 JavaScript 可以轻松完成。

const boxes = document.querySelectorAll(".box1");
function remove_all_active_list() {
    boxes.forEach((element) => element.classList.remove('active'));
}
Run Code Online (Sandbox Code Playgroud)

但是我怎么能做这个类似的事情是 ReactJs。我面临的问题是我不能document.querySelectorAll(".box1")在 React 中使用,但是,我可以使用React.createRef()但它没有给我所有元素,它只给我最后一个元素。

这是我的反应代码

应用程序.js

import React, { Component } from 'react';
import List from './List';

export class App extends Component {

    componentDidMount() {
        window.addEventListener('keydown', this.keypressed);
    }

    keypressed = (e) => {
        if (e.keyCode == '38' || e.keyCode == '40') this.remove_all_active_list();
    };

    remove_all_active_list = () => {
        // boxes.forEach((element) => element.classList.remove('active'));
    };

    divElement = (el) => {
        console.log(el);
        el.forEach((element) => …
Run Code Online (Sandbox Code Playgroud)

html javascript css reactjs

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