Question: I have a react component which uses a 3rd party library Component as a Child node. The Grand children (or the children of the 3rd party libary) are under my control. When my component receives new props it re-renders, however the 3rd party component seems to stop my components grand-children from re-rendering also, even though the props my component received, are passed to the non-re-rendering components directly

If I remove the 3rd party component then my component re-renders as do the grand-children.

```
    render() {
        <div>
            <ThirdPartyComponent props={blah}>
                {this.props.products.map(prod => <MyGrandChildrenComponents product={prod} />
            </ThirdPartyComponent>
        </div>
    }

```

A concrete example can be found on this code sandbox: [codesandbox.io/s/silly-grass-7frlx](https://codesandbox.io/s/silly-grass-7frlx)

I'd expect my MyGrandChildrenComponents component to get updated when this.props.products changes... Any hints?

Answer: 
This can happen if `ThirdPartyComponent` is a stateful component and is not handling its prop updates correctly. One way to force a re-render is to add a `key` prop to your `ThirdPartyComponent` and update its value when a re-render is needed.

```
render() {
        <div>
            <ThirdPartyComponent key={something-that-changes-when-rerender-needed} props={blah}>
                {this.props.products.map(prod => <MyGrandChildrenComponents product={prod} />
            </ThirdPartyComponent>
        </div>
    }

```
If ThirdPartyComponent is a PureComponent it should re render (and so re render its children) when one of its props changes so you can try:

```
render() {
        <div>
            <ThirdPartyComponent props={blah} products={this.props.products}>
                {this.props.products.map(prod => <MyGrandChildrenComponents product={prod} />
            </ThirdPartyComponent>
        </div>
    }

```

To trigger re renders when `this.props.products` changes.

But any prop should do.

If ThirdPartyComponent has a custom implementation of shouldComponentUpdate, then you will have to find the specific prop which triggers update if it exists.