There is a list of components that you can replace at runtime.
You can replace some ABP components with your custom components.
Create a new component that you want to use instead of the ABP component. Add that component to `declarations` and `entryComponents` in the `AppModule`.
The reason that you **can replace** but **cannot customize** default ABP components is disabling or changing a part of that component can cause problems. So we named those components as _Replaceable Components_.
## How to Use Replaceable Components
Create a new component that you want to use instead of an ABP component. Add that component to `declarations` and `entryComponents` in the `AppModule`.
Then, open the `app.component.ts` and dispatch the `AddReplaceableComponent` action to replace your component with an ABP component as shown below:
```ts
import { ..., AddReplaceableComponent } from '@abp/ng.core';
export class AppComponent implements OnInit {
export class AppComponent {
constructor(..., private store: Store) {}
ngOnInit() {
@ -23,35 +27,32 @@ export class AppComponent implements OnInit {
}
```
An example:

> You can use `getAll` and `getComponent('Component Key')` selectors to get all replaceable components or just one of them by key.