Search code examples
javascriptreactjsmaterial-uimui-datatable

Label text not updating in MUIDataTable ReactJS


I want to add multi language option in mui Datatables. I can change the translations but when I want to change language, I tried to give another object with the other translations (this object if I do console log I can see the changes) but the label texts not change.

I used a contextProvider to change the language selected and then get the specific dictionary with the translations.

Is a class component, so I did a static contextType with the correct provider.

Is there any possibility to re-render the element with another options or something like that?

options = {
 textLabels: this.context.translation.dataTables.textLabels
};

return(
 <MUIDataTable
   title={this.context.language.value}
   data={data}
   columns={columns}
   options={options}
 />
);

Solution

  • The best approach to re-render Mui-Datatables its updating the key of the table

    key={this.context.language.value}

    <MUIDataTable
       key={this.context.language.value}
       title={this.context.language.value}
       data={data}
       columns={columns}
       options={options}
     />