小编use*_*790的帖子

如何在加载某些特定变量后仅在React中触发useEffect

我试图在 React 中使用 useEffect 钩子来仅触发某些函数一次。我知道这通常可以通过以下方式完成

useEffect(() => {
    // some functions
    }
}, [])
Run Code Online (Sandbox Code Playgroud)

但是,这些函数需要加载一些值。所以,我只希望这个 useEffect 在值不为空时仅触发一次。

useEffect(() => {
    // some functions
}, [theValue])
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的,但我知道每当发生变化时都会触发它theValue

如何将 useEffect 更改为在theValue不为空时仅运行一次?

javascript reactjs react-hooks use-effect

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

在Junit测试中使用@Before

@Before 需要JUnit测试中的符号,因为几个测试需要在运行之前创建类似的对象.

但是我没有区分在将testcase函数作为全局对象之前实例化一个对象和放入一个对象之间@Before.

例如,我正在测试我的国际象棋程序,我正在测试我的Piece对象是否移动到正确的位置:

public class PawnTest { //The Test Class itself

Board board = new Board();

@Test
/**
 * Testing the right movement
 */
public void correctMovementTest() {
    Pawn p1 = new Pawn(Player.UP);
    board.placePiece(4, 3, p1);
    board.movePieceTo(5, 3, p1);
    assertEquals(board.getPiece(5, 3), p1);
}

@Test
/**
 * Testing the right movement
 */
public void correctMovementTest2() {
    Pawn p1 = new Pawn(Player.UP);
    board.placePiece(4, 3, p1);
    board.movePieceTo(6, 3, p1);
    assertEquals(board.getPiece(6, 3), p1);
}

....
Run Code Online (Sandbox Code Playgroud)

如果我在测试用例方法之外进行decalre Board,那么它不会起作用Pawn p1吗?我们为什么需要 …

java junit

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

标签 统计

java ×1

javascript ×1

junit ×1

react-hooks ×1

reactjs ×1

use-effect ×1