Вы можете использовать состояние для каждого флажка, например, тема, город и язык, а затем установите состояние в обработчике каждого флажка. Затем вы можете отфильтровать массив данных, чтобы показать отфильтрованные данные, например,
const { topic, city, language } = this.state;
// assuming data is array and all the filter values are not empty.
// If empty no need for filter
const filteredData = data.filter(val => {
return (topic.length && topic.includes(val.topic)) ||
(city.length && city.includes(val.city)) ||
(language.length && language.includes(val.language))
}