小编oyg*_*gen的帖子

为什么在使用相同状态调用 useState 时我的组件会呈现?

我有一个带有布尔状态的简单功能组件。和按钮来改变状态。

它最初设置为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)

reactjs react-hooks

9
推荐指数
1
解决办法
5233
查看次数

在 Safari iOS 13 + 上禁用双击缩放

我们如何在 Safari iOS 13+ 移动设备上禁用“双击缩放”?

有时它会放大,有时不会。我觉得它可能只适用于特定的 HTML 元素。

而且我读到默认情况下在 iOS 13 上应该禁用“双击缩放”,只有捏缩放才可以工作,但事实并非如此。

html safari ios web

7
推荐指数
2
解决办法
6806
查看次数

如何更改 Spring Boot 错误响应中的状态代码?

我正在制作一个简单的休息服务,它使用 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)

java rest spring controller spring-boot

6
推荐指数
1
解决办法
8619
查看次数

标签 统计

controller ×1

html ×1

ios ×1

java ×1

react-hooks ×1

reactjs ×1

rest ×1

safari ×1

spring ×1

spring-boot ×1

web ×1