Newer Version Available

This content describes an older version of this product. View Latest

Add Query Parameters

To add query parameters to the URL, update the PageReference state property. The key-value pairs of the state property are serialized to URL query parameters. The query parameters describe the page and form a more specific URL that the user can save or bookmark.
Keep these behaviors in mind when working with the state property.
  • You can’t directly change the pageReference object. To update the state, create a new pageReference object, and copy the values using Object.assign({}, pageReference).
  • state parameters must be namespaced. For example, a managed package with the namespace abc with a parameter accountId is represented as abc__accountId. The namespace for custom components is c__.Parameters without a namespace are reserved for Salesforce use. This namespace restriction is introduced under a critical update in Winter ’19 and enforced in Summer ’19.
  • Since the key-value pairs of PageReference.state are serialized to URL query parameters, all the values must be strings.
  • Code that consumes values from state must parse the value into its proper format.
  • To delete a value from the state object, define it as undefined.

If your component uses the lightning:hasPageReference or lightning:isUrlAddressable interfaces, always implement a change handler. When the target of a navigation action maps to the same component, the routing container might simply update the pageReference attribute value instead of recreating the component. In this scenario, a change handler ensures that your component reacts correctly.