{"record":{"id":"d7d879087e95d826","repo":"facebook/react","slug":"270","errorCode":"270","errorMessage":"The current renderer does not support persistence. This error is likely caused by a bug in React. Please file an issue.","messagePattern":"The current renderer does not support persistence\\. This error is likely caused by a bug in React\\. Please file an issue\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/react-reconciler/src/ReactFiberConfigWithNoPersistence.js","lineNumber":14,"sourceCode":"/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n */\n\n// Renderers that don't support persistence\n// can re-export everything from this module.\n\nfunction shim(...args: any): empty {\n  throw new Error(\n    'The current renderer does not support persistence. ' +\n      'This error is likely caused by a bug in React. ' +\n      'Please file an issue.',\n  );\n}\n\n// Persistence (when unsupported)\nexport const supportsPersistence = false;\nexport const cloneInstance = shim;\nexport const createContainerChildSet = shim;\nexport const appendChildToContainerChildSet = shim;\nexport const finalizeContainerChildren = shim;\nexport const replaceContainerChildren = shim;\nexport const cloneHiddenInstance = shim;\nexport const cloneHiddenTextInstance = shim;\n","sourceCodeStart":1,"sourceCodeEnd":30,"githubUrl":"https://github.com/facebook/react/blob/eafeac097ba51e1eab809c07102126bd5f8e5425/packages/react-reconciler/src/ReactFiberConfigWithNoPersistence.js#L1-L30","documentation":"Renderers that don't produce persistent output re-export ReactFiberConfigWithNoPersistence: cloneInstance, createContainerChildSet, appendChildToContainerChildSet, finalizeContainerChildren and friends are throwing shims, with `supportsPersistence = false`. React only calls these when running a container in persistence mode (renderer produces an immutable new tree instead of mutating), so this error means a persistent commit ran against a config without those hooks.","triggerScenarios":"Creating/committing a container in persistence mode while the resolved host config re-exports NoPersistence — e.g. a custom persistent renderer whose config was misconfigured, or a mis-aliased host config.","commonSituations":"Building persistent custom renderers (build-to-string / scene-graph style) and forgetting to implement the persistence hooks; or wiring the wrong host config into jest/bundler aliases.","solutions":["Implement the persistence methods (cloneInstance, createContainerChildSet, appendChildToContainerChildSet, finalizeContainerChildren, ...) in your host config.","If you don't need persistence, ensure the container isn't driven in persistence mode and that the mutation path is the one used.","Verify which host config file your build resolves — mis-aliasing is the most common cause."],"exampleFix":"// before: persistent renderer without hooks\nexport * from 'react-reconciler/src/ReactFiberConfigWithNoPersistence';\n\n// after: implement persistence\nexport const supportsPersistence = true;\nexport function createContainerChildSet(container) {\n  return {children: []};\n}\nexport function appendChildToContainerChildSet(childSet, child) {\n  childSet.children.push(child);\n}\nexport function finalizeContainerChildren(container, childSet) {\n  container.finalChildren = childSet.children;\n}","handlingStrategy":"validation","validationCode":"// Renderer smoke test for persistence mode: force one persistent commit in CI\nconst container = Reconciler.createContainer(root, 1 /* persisting root */, null, false, null);\nReconciler.updateContainer(<App />, container, null, () => checkOutput(container));","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Persistent renderer authors: implement cloneInstance/createContainerChildSet/appendChildToContainerChildSet/finalizeContainerChildren up front","Choose mutation vs persistence mode explicitly per renderer","Add a CI render test that exercises the persistence commit path"],"tags":["persistence","custom-renderer","renderer-capability","commit-phase"],"backgroundTag":"renderer-capability-unsupported","analyzedSha":"eafeac097ba51e1eab809c07102126bd5f8e5425","analyzedAt":"2026-08-21T22:01:08.818Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}