<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [rc-js-util](./rc-js-util.md) &gt; [ILifecycleStrategy](./rc-js-util.ilifecyclestrategy.md)

## ILifecycleStrategy interface

Defines the rules for how [IManagedObject](./rc-js-util.imanagedobject.md)<!-- -->s should be cleaned up.

**Signature:**

```typescript
export interface ILifecycleStrategy 
```

## Methods

<table><thead><tr><th>

Method


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

[createNode(owner)](./rc-js-util.ilifecyclestrategy.createnode.md)


</td><td>

Conceptually, there is always an owner. if you supply null, the resource is owned by a block scope; it is a (debug) error to create a node without one or the other.


</td></tr>
<tr><td>

[onManagedObjectCreated(object)](./rc-js-util.ilifecyclestrategy.onmanagedobjectcreated.md)


</td><td>


</td></tr>
<tr><td>

[onSharedPointerCreated(sharedPtr, metadata, protectedViewFactory)](./rc-js-util.ilifecyclestrategy.onsharedpointercreated.md)


</td><td>


</td></tr>
</tbody></table>
