Skip to content

Commit

Permalink
Update docs/site/docs/providing-input/passing-parameters-to-component…
Browse files Browse the repository at this point in the history
…s.md

Co-authored-by: Egil Hansen <[email protected]>
  • Loading branch information
linkdotnet and egil committed Mar 2, 2024
1 parent 7568c17 commit 80a8010
Showing 1 changed file with 5 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,11 @@ When rendering a `RenderFragment` using the <xref:Bunit.TestContext.Render(Micro
```

## Passing query parameters (`SupplyParameterFromQuery`) to a component
Since .NET 6 components can receive parameters from the query string. From .NET 6 until .NET 8 `SupplyParameterFromQuery` also had to be a `Parameter`. The fact that they represent regular Blazor parameters means that <xref:Bunit.ComponentParameterCollectionBuilder`1>'s `Add` can be used. However, from .NET 8 onwards `SupplyParameterFromQuery` can be used without the need to be a `Parameter`. If it used without ther `Parameter` attribute, the <xref:Bunit.TestDoubles.FakeNavigationManager> can be used.
In .NET 6 and later, components can receive parameters from a query string if the parameter is annotated with the `[SupplyParameterFromQuery]` attribute in addition to the `[Parameter]` attribute.

In .NET 8 however, the `[Parameter]` attribute is no longer required, which means a value cannot be passed to the component during testing using the normal methods, e.g. the <xref:Bunit.ComponentParameterCollectionBuilder`1>'s `Add` method, if a component parameter is only annotated with the `[SupplyParameterFromQuery]` attribute. Instead, pass a query string parameters by setting it using the <xref:Bunit.TestDoubles.FakeNavigationManager>.

For example:

```razor
@code {
Expand Down

0 comments on commit 80a8010

Please sign in to comment.