JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.2.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.2.0/umd/react-dom.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/redux/3.7.2/redux.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-redux/5.0.6/react-redux.min.js"></script>
<div id="app"></div>
Babel + JSX
const { createStore } = Redux;
const { Provider, connect } = ReactRedux;
const store = createStore(state => state, {
list: [
{ id: 1, params: [ 'xxx', 'yyy' ] },
{ id: 2, params: [ 'xxx' ] },
{ id: 3, params: [ 'aaa' ] },
{ id: 4, params: [ 'aaa', 'bbb', 'ccc' ] },
{ id: 5, params: [ 'ccc', 'zzz' ] },
{ id: 6, params: [ 'xxx', 'zzz' ] },
{ id: 7, params: [ 'bbb', 'yyy' ] },
{ id: 8, params: [ 'bbb', 'ccc', 'xxx' ] },
{ id: 9, params: [ 'aaa', 'xxx' ] },
]
});
const mapStateToProps = ({ list }, { params }) => ({
list: list.filter(n => n.params.some(m => params.includes(m))),
});
const List = connect(mapStateToProps)(({ list }) => (
<ul>{list.map(n => <li key={n.id}>{JSON.stringify(n)}</li>)}</ul>
));
const App = () => (
<div>
<List params={[ 'xxx' ]} />
<List params={[ 'ccc', 'zzz' ]} />
<List params={[ 'aaa', 'bbb' ]} />
</div>
);
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('app')
);