基于useState布尔值启用/禁用提交按钮,使用react jest测试库更改true / false

问题描述

我正在从配置中填充表单字段,并且在用户更新字段之后,我将更新的字段与先前使用“ isEqual”获取的配置进行比较。如果“ isEqual = false”,则启用提交按钮。我毫不费力地使用玩笑来模拟这种行为。有人可以帮忙这个测试用例吗?

下面是我的示例代码段:


library(shiny)

write.csv(iris,'iris.csv')
df = read.csv('iris.csv')

shinyApp(
  ui = fluidPage(
    fluidRow(
      column(12,tableOutput('iris_table')
      )
    )
  ),server = function(input,output) {
    output$iris_table <- renderTable(df)
  }
)
  

这是我的考试:

const [areValuesEqual,setAreValuesEqual] = React.useState(true);

const onSubmit = React.useCallback(values => {
if (!isEqual(originalValues,values)) {
  console.log('submitted.');
  props.handleNext(values);
}
console.log("didn't submit.");},[props,originalValues]);


useEffect(() => setAreValuesEqual(isEqual(originalValues,formik.values)),[formik.values,originalValues]);


<div>
        <Button
          type="submit"
          variant="contained"
          color="primary"
          className={classes.button}
          data-testid="next"
          disabled={areValuesEqual}
        >
          Next
          </Button>
      </div>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)