message: Memoize more things in compat context providers
diff: import { QueryBuilderContext } from '@react-querybuilder/ctx';
  import type { QueryBuilderContextProps, QueryBuilderContextProvider } from '@react-querybuilder/ts';
  -import { useContext } from 'react';
  +import { useContext, useMemo } from 'react';
  import { mergeClassnames } from './mergeClassnames';
  export type GetCompatContextProviderProps = Pick<
  @@ -16,7 +16,9 @@ export const getCompatContextProvider =
  }: GetCompatContextProviderProps): QueryBuilderContextProvider =>
  props => {
  const rqbContext = useContext(QueryBuilderContext);
  - const classnamesObject = compatClassnames
  + const classnamesObject = useMemo(
  + () =>
  + compatClassnames
  ? {
  controlClassnames: mergeClassnames(
  rqbContext.controlClassnames,
  @@ -24,8 +26,11 @@ export const getCompatContextProvider =
  compatClassnames
  ),
  }
  - : {};
  - const newContextProps: QueryBuilderContextProps = {
  + : {},
  + [props.controlClassnames, rqbContext.controlClassnames]
  + );
  + const newContextProps = useMemo(
  + (): QueryBuilderContextProps => ({
  ...rqbContext,
  ...classnamesObject,
  controlElements: {
  @@ -33,7 +38,9 @@ export const getCompatContextProvider =
  ...compatElements,
  ...props.controlElements,
  },
  - };
  + }),
  + [classnamesObject, props.controlElements, rqbContext]
  + );
  return (
  <QueryBuilderContext.Provider value={newContextProps} key={key}>
  