我有一个带有布尔状态的简单功能组件。和按钮来改变状态。
它最初设置为true所以当我按下 true 按钮时,它不会呈现。
但是如果我按下假按钮,它会重新渲染,如果我再次按下假按钮,它会重新渲染,即使状态已经设置为false..
有人可以解释为什么当状态更改为完全相同的状态时组件会重新渲染吗?如何防止它重新渲染?
import React, {useState} from 'react';
const TestHooks = () => {
const [state, setState] = useState(true);
console.log("rendering..", state);
return(
<div>
<h1>{state.toString()}</h1>
<button onClick={() => setState(true)}>true</button>
<button onClick={() => setState(false)}>false</button>
</div>
)
}
export default TestHooks;
Run Code Online (Sandbox Code Playgroud) 我们如何在 Safari iOS 13+ 移动设备上禁用“双击缩放”?
有时它会放大,有时不会。我觉得它可能只适用于特定的 HTML 元素。
而且我读到默认情况下在 iOS 13 上应该禁用“双击缩放”,只有捏缩放才可以工作,但事实并非如此。
我正在制作一个简单的休息服务,它使用 RestTemplate 进行一些 http 调用并聚合数据。
有时我会收到 NotFound 错误,有时会收到 BadRequest 错误。
我想用相同的状态代码响应我的客户端,Spring 似乎已经提供了这种开箱即用的映射。消息正常,但状态代码始终为 500 内部服务器错误。
我想将我的状态代码映射到我最初收到的状态代码
"timestamp": "2019-07-01T17:56:04.539+0000",
"status": 500,
"error": "Internal Server Error",
"message": "400 Bad Request",
"path": "/8b8a38a9-a290-4560-84f6-3d4466e8d7901"
}
Run Code Online (Sandbox Code Playgroud)
我希望是这样
"timestamp": "2019-07-01T17:56:04.539+0000",
"status": 400,
"error": "Internal Server Error",
"message": "400 Bad Request",
"path": "/8b8a38a9-a290-4560-84f6-3d4466e8d7901"
}
Run Code Online (Sandbox Code Playgroud)
它抛出 HttpClientErrorException.BadRequest 或 HttpClientErrorException.NotFound
我的代码是一个简单的端点:
@GetMapping("/{id}")
public MyModel getInfo(@PathVariable String id){
return MyService.getInfo(id);
}
Run Code Online (Sandbox Code Playgroud) controller ×1
html ×1
ios ×1
java ×1
react-hooks ×1
reactjs ×1
rest ×1
safari ×1
spring ×1
spring-boot ×1
web ×1