Title: @for(ID of IDs; track ID) and NG0956 - provide a way to prevent warning when tracking by item is legit scenario · Issue #56471 · angular/angular · GitHub
Open Graph Title: @for(ID of IDs; track ID) and NG0956 - provide a way to prevent warning when tracking by item is legit scenario · Issue #56471 · angular/angular
X Title: @for(ID of IDs; track ID) and NG0956 - provide a way to prevent warning when tracking by item is legit scenario · Issue #56471 · angular/angular
Description: Which @angular/* package(s) are the source of the bug? core Is this a regression? Yes Description We are rendering nodes: @for(id of ids; track id) {
Open Graph Description: Which @angular/* package(s) are the source of the bug? core Is this a regression? Yes Description We are rendering nodes: @for(id of ids; track id) {
X Description: Which @angular/* package(s) are the source of the bug? core Is this a regression? Yes Description We are rendering nodes: @for(id of ids; track id) { <node [id]="id"/> } But we are ...
Opengraph URL: https://github.com/angular/angular/issues/56471
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"@for(ID of IDs; track ID) and NG0956 - provide a way to prevent warning when tracking by item is legit scenario","articleBody":"### Which @angular/* package(s) are the source of the bug?\n\ncore\n\n### Is this a regression?\n\nYes\n\n### Description\n\nWe are rendering nodes:\r\n```\r\n@for(id of ids; track id) {\r\n \u003cnode [id]=\"id\"/\u003e\r\n}\r\n```\r\n\r\n\u003cimg width=\"581\" alt=\"image\" src=\"https://github.com/angular/angular/assets/10418323/37f12438-3772-427d-85ac-9a9763f209d1\"\u003e\r\n\r\n\r\n\r\nBut we are getting NG0956 warning:\r\n`...and make sure that it uniquely identifies items in a collection`\r\n\r\nI understood is it usually not good idea to track collection nodes by themselves. \r\n\r\nHowever, this is exception, because collection is list of IDs of the nodes and \"ID\" is unique identifier of the node.\r\n\r\nPlease reconsider the warning. I think the framework should have not thrown this warning if the element of the collection may be unique key (maybe it should throw this warning only when \"id\" is object and not string / number)\r\n\r\n\n\n### Please provide a link to a minimal reproduction of the bug\n\n_No response_\n\n### Please provide the exception or error you saw\n\n```true\nNG0956: The configured tracking expression (track by identity) caused re-creation of the entire collection of size 1. This is an expensive operation requiring destruction and subsequent creation of DOM nodes, directives, components etc. Please review the \"track expression\" and make sure that it uniquely identifies items in a collection. Find more at https://angular.io/errors/NG0956\n```\n\n\n### Please provide the environment you discovered this bug in (run `ng version`)\n\n```true\nAngular CLI: 18.0.1\r\nNode: 20.9.0\r\nPackage Manager: yarn 1.22.19\r\nOS: darwin arm64\r\n\r\nAngular: 18.0.0\r\n... animations, cdk, common, compiler, compiler-cli, core, forms\r\n... language-service, localize, platform-browser\r\n... platform-browser-dynamic, router, service-worker\r\n\r\nPackage Version\r\n---------------------------------------------------------\r\n@angular-devkit/architect 0.1800.1\r\n@angular-devkit/build-angular 18.0.1\r\n@angular-devkit/core 18.0.1\r\n@angular-devkit/schematics 18.0.1\r\n@angular/cli 18.0.1\r\n@schematics/angular 18.0.1\r\nng-packagr 18.0.0\r\nrxjs 7.8.1\r\ntypescript 5.4.5\r\nwebpack 5.89.0\r\nzone.js 0.14.6\n```\n\n\n### Anything else?\n\n...or just provide a way how to halt / mute this warning.","author":{"url":"https://github.com/montella1507","@type":"Person","name":"montella1507"},"datePublished":"2024-06-16T09:04:56.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":17},"url":"https://github.com/56471/angular/issues/56471"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:80de3788-cfff-e94c-88b4-fb86a4fa24a9 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C8FA:2A6262:28784C8:343F113:6974C84B |
| html-safe-nonce | d192aef0966764f95b2980ca5595ce05279edcf1437a0a117d387d50fa10a73f |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDOEZBOjJBNjI2MjoyODc4NEM4OjM0M0YxMTM6Njk3NEM4NEIiLCJ2aXNpdG9yX2lkIjoiMzg4NDYwMzc4NDE4NDUxNDYzNSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | a0766de1126e51525197d0bcea6e55b95b5288e89cb403194dbd5b5b0c277558 |
| hovercard-subject-tag | issue:2355584118 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/angular/angular/56471/issue_layout |
| twitter:image | https://opengraph.githubassets.com/32e8e7e459b2fba0585431ffcd95b50bb77045d1cbba8bb3c4ed0b2b25b26983/angular/angular/issues/56471 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/32e8e7e459b2fba0585431ffcd95b50bb77045d1cbba8bb3c4ed0b2b25b26983/angular/angular/issues/56471 |
| og:image:alt | Which @angular/* package(s) are the source of the bug? core Is this a regression? Yes Description We are rendering nodes: @for(id of ids; track id) { |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | montella1507 |
| hostname | github.com |
| expected-hostname | github.com |
| None | 4a4bf5f4e28041a9d2e5c107d7d20b78b4294ba261cab243b28167c16a623a1f |
| turbo-cache-control | no-preview |
| go-import | github.com/angular/angular git https://github.com/angular/angular.git |
| octolytics-dimension-user_id | 139426 |
| octolytics-dimension-user_login | angular |
| octolytics-dimension-repository_id | 24195339 |
| octolytics-dimension-repository_nwo | angular/angular |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 24195339 |
| octolytics-dimension-repository_network_root_nwo | angular/angular |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 488b30e96dfd057fbbe44c6665ccbc030b729dde |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width