实际上,我正试图用useState和useEffect钩子将一些处于空状态的DOM元素作为目标<没问题,我想我做得对。这是我的实际代码:
const [state, setState] = useState({
title: [],
subtitle: []
});
useEffect(() => {
const myNewTitle = ["Hello", "World"];
const myNewSubtitle = ["What's", "up?"];
setState({...state, title: myNewTitle, subtitle: myNewSubtitle})
console.log(state)
}, [state]);
这里,我的控制台显示一个无限循环
我试图编写一个空数组[]
,但是我的状态的新值没有像我希望的那样显示在控制台中
所以,我写了以下内容:[state.title[0],state.subtitle[0]]
我不知道我的代码是否正确。控制台显示我想要的,我状态的新值
但我在控制台中收到了以下警告:
React Hook useEffect缺少依赖项:“状态”。包括它或删除依赖项数组。您还可以执行功能更新“设置状态”=
事实上,我不知道如何解决这个问题。有人能帮帮我吗?
预言:当然,这是一个非常简单的例子。在我的项目中,我想重新使用我的状态(标题副标题)在使用效果钩子之外编写的函数中。
//can be anything, a string, undefined, a boolean
const [title, setTitle] = ("");
const [subtitle, setSubtitle] = ("");
//when the component is (re)rendered, this will be called.
useEffect(() => {
},[])
//"keeping track" of anything in the array, when they are updated, useEffect is executed
然后在组件中,您可以调用setSubtitle(“要用其更新的值”)
使用具有当前状态作为参数的setState()
回调版本,可以避免将state
放入依赖项列表中。
由于该参数是useEffect的本地(内部),因此无需将其声明为依赖项。
useEffect(() => {
const myNewTitle = ["Hello", "World"];
const myNewSubtitle = ["What's", "up?"];
setState(oldState => {
return {...oldState, title: myNewTitle, subtitle: myNewSubtitle};
});
}, []);
使用cssSelector,我能够找到一些具有id属性的元素。例如: 使用Selenium 2(WebDriver)中的isDisplayed(),可以发现它是真的。 我的问题是单击下面的一些链接,我可以使用xpath找到这些链接,但使用isDisplayed()发现这些链接为false。 我尝试使用以下代码查找: 大小显示为1,但isDisplayed()返回false。 如何使此元素可见并能够
我正在遵循Oracle的教程在JavaFX中创建TableView。在这个截图中,我复制并粘贴了代码,发现了几个错误,教程中没有提到这些错误。 TableView上的警告显示: TableView是原始类型。对泛型类型TableView的引用 表列上的警告说: 表列是一个原始类型。对泛型类型TableCol列的引用 addAll方法上的警告是: 类型安全:方法addAll(Object…)属于原始
问题内容: 我需要使用(在AngularJS中)列出数组中的所有元素。 复杂的是,数组的每个元素都将转换为表的一,两或三行。 我不能创建有效的html(如果用于元素上),因为和之间不允许使用任何类型的重复元素。 例如,如果在上使用ng-repeat ,我将得到: 无效的html。 但是我需要生成的是: 其中第一行由第一个数组元素生成,接下来的三行由第二个数组生成,第五行和第六个由最后一个数组元素生
我正在使用Spring框架和Hibernate开发一个web应用程序。我的问题是,我经常收到404错误,这是因为我在代码库的某个地方犯了一个错误,但控制台中没有异常消息。正因为如此,我很难找到错误在哪里,因为项目已经变得非常大,手动尝试找到问题是不切实际的。我假设是Spring导致了这个问题,所以我的问题是:是否有某种方法可以启用更详细的错误消息?谢谢
我正在尝试设置一个动态,从本地目录读取文件。因此,我创建了以下可参数化类: 参数化流在的帮助下注册,如下所示: 启动应用程序后,我得到以下警告: 如果我理解正确的话,负责创建集成bean(从而设置beanFactory)。但是为什么我会收到这个错误信息呢?