我有一个警告:数组或迭代器中的每个孩子都应该有一个唯一的“键”道具。但是我用了一把钥匙。这是我的代码:
return (
<li onClick={this.handleOnMarkAsCompleted} key={Date.now()}>
{ completed ? <b>{value}</b> : value }
</li>
)
有什么想法吗?为什么会发生呢?
根据ReactJS文档,键仅在周围数组的上下文中才有意义。正确使用密钥的示例。
function ListItem(props) {
// Correct! There is no need to specify the key here:
return <li>{props.value}</li>;
}
function NumberList(props) {
const numbers = props.numbers;
const listItems = numbers.map((number) =>
// Correct! Key should be specified inside the array.
<ListItem key={number.toString()}
value={number} />
);
return (
<ul>
{listItems}
</ul>
);
}
const numbers = [1, 2, 3, 4, 5];
ReactDOM.render(
<NumberList numbers={numbers} />,
document.getElementById('root')
);
在codepen上试一试
日期now()生成每次都相同的当前时间UNIX时间戳(在第二个时间戳中,所有项都被呈现)。密钥必须是唯一的,如错误中所述。添加某种id或迭代器(如果没有替代方法)。
考虑这两个例子:
const Item = ({ i }) => <li key={i}>li</li>;
const List = ({ data }) => <ul>{data.map((_, i) => <Item i={i} />)}</ul>;
在这种情况下,您将得到:
Warning: Each child in an array or iterator should have a unique "key" prop.
因为li
不是一个数组项。它在Item
的内部,后者是一个数组项。
所以键入Item
将消除问题:
const Item = ({ i }) => <li key={i}>li</li>;
const List = ({ data }) => <ul>{data.map((_, i) => <Item key={i} />)}</ul>;
代码沙盒:https://codesandbox.io/s/oojwjq0lj6
从文档:
关键点仅在周围数组的上下文中才有意义。
例如,如果提取一个ListItem
组件,则应将键保留在
关于使用
Date.now()
的注意事项:
密钥应该是稳定的、可预测的和唯一的。不稳定的键(如Math.random()生成的键)将导致不必要地重新创建许多组件实例和DOM节点,这可能会导致性能下降和子组件中的状态丢失。
我第一次使用侦探需要一些帮助。我目前正在使用sleuth 2.2.3。释放我的要求是我想传播两个字段product id和product type,这样我就可以从其他微服务中读取这两个值,因为我正在使用baggage传播。
我有一个过滤器(OncePerRequestFilter),它基本上拦截传入的请求并记录traceId、spanId等。它运行良好,这个过滤器位于一个公共模块中,该模块包含在其他项目中,以避免在我的所有微服务中包含spring sleuth依赖项,这就是我将它创建为库的原因,因为对库的任何更改对所有模块都是公共的。现在,我必须添加一个新的传播密钥,它需要通过http头(如trace和spanId)
我试图建立一个应用程序,它有一个角前端和一个Maven/Spring Boot后端,并建立了我的第一个REST控制器。我的问题是,当我从Angular IDE向后端发送GET HTTP请求时,它会返回一个错误,说明: 我的角代码只是试图使用GET方法(即。httpclient.GET('http://localhost:8080/api/getdata')将数据打印到浏览器控制台,但错误阻止了它的
网站开发是制作一些专业性强的网站,比如说动态网页。ASP、PHP、JSP网页。而且网站开发一般是原创,网站制作可以用别人的模板。网站开发字面意思比制作有更深层次的进步,它不仅仅是网站美工和内容,它可能涉及到域名注册查询、网站的一些功能的开发。
我有以下实体 注册程序 教练 官方 基本上,我有与(Trainer-Register steredProgram,官方注册程序)有多对一关系的实体。现在我有一个服务已经满足了我的要求,通过id获取注册程序,我应该只包含所有的和与isDeletedfalse。请参阅下面的服务: 服务 现在,我尝试使用< code>@Query和< code>@EntityGraph,这样我就可以只使用一个查询就获得
请提示我如何让侦察行李在联调系统中工作。它在测试通过模拟HTTP请求时按预期工作,但在测试直接调用服务时不工作。我的应用程序是(Spring Boot 2.5.4,Spring Cloud 2020.0.3): 应用yml: 测试: