React Query Builder is a fully customizable query builder component for React, along with a collection of utility functions for importing from, and exporting to, various query languages like SQL, MongoDB, and more. Demo is here.
Complete documentation is available at react-querybuilder.js.org.
To get started, import the main component and the default stylesheet, then render the component in your app:
import { QueryBuilder } from 'react-querybuilder';
import 'react-querybuilder/dist/query-builder.css'; // or .scss
export function App() {
const [query, setQuery] = useState({
combinator: 'and',
rules: [],
});
return <QueryBuilder query={query} onQueryChange={setQuery} />;
}
For a more complete introduction, see the main package README, dive into the full documentation, or browse the example projects.
To enable drag-and-drop functionality, use the @react-querybuilder/dnd
package.
For instructions on migrating from earlier versions of react-querybuilder
, click here.
In addition to the main react-querybuilder
package, this repo also hosts official compatibility component packages for use with several popular style libraries including Ant Design, Bootstrap, Bulma, Chakra UI, Fluent UI, Mantine, MUI, and Tremor. A functionally equivalent React Native-compatible component is also available.
See the contribution guidelines.
This component was inspired by prior work from:
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!