# react$$

The `react$$` command is a useful command to query multiple React Components by their actual name and filter them by props and state.

info

The command only works with applications using React v16.x. Read more about React selectors in the [Selectors](/docs/selectors.md#react-selectors) guide.

## Usage[​](#usage "Direct link to Usage")

```
await browser.react$$(selector, { props, state })
```

## Parameters[​](#parameters "Direct link to Parameters")

| Name                            | Type                                          | Details                                |
| ------------------------------- | --------------------------------------------- | -------------------------------------- |
| `selector`                      | `string`                                      | of React component                     |
| `options`<br />*optional*       | `ReactSelectorOptions`                        | React selector options                 |
| `options.props`<br />*optional* | `Object`                                      | React props the element should contain |
| `options.state`<br />*optional* | `Array<any>, number, string, object, boolean` | React state the element should be in   |

## Example[​](#example "Direct link to Example")

pause.js

```
it('should calculate 7 * 6', async () => {
    await browser.url('https://ahfarmer.github.io/calculator/');

    const orangeButtons = await browser.react$$('t', {
        props: { orange: true }
    })
    console.log(await orangeButtons.map((btn) => btn.getText()));
    // prints "[ '÷', 'x', '-', '+', '=' ]"
});
```

## Returns[​](#returns "Direct link to Returns")

* **\<WebdriverIO.ElementArray>**
