Size: a a a

2020 March 03

LK

Leonid Kuznetsov in React Kyiv
кто то использовал material-table?
пытаюсь сделать override Action но происходит дикий ререндер как на начальной стадии так и на клике не могу понять с чем связано
источник

LK

Leonid Kuznetsov in React Kyiv
<StyledExtendedNodeTable
 components={{
   Action: renderAction,
 }}
 data={detailedData.data}
 columns={detailedData.columns}
 options={{
   toolbar: true,
   search: false,
   showTitle: false,
   filtering: true,
   actionsColumnIndex: -1,
 }}
 actions={
   detailedData.data.length !== 0
     ? [
         {
           icon: () => <SaveAltIcon />,
           tooltip: 'Export',
           isFreeAction: true,
           onClick: onOpenExportMenu,
         },
         {
           icon: () => <ShowChartIcon />,
           tooltip: 'Show Chart',
           onClick: (event, rowData) => {
             console.log('Show Chart');
             return props.onRowExtendedNodeClick;
           },
         },
         {
           icon: 'download',
           onClick: (event, rowData) => {
             event.preventDefault();
             props.getProcessedFile({
               id: rowData.id,
               path: rowData.source,
             });
           },
         },
       ]
     : []
 }
/>
источник

LK

Leonid Kuznetsov in React Kyiv
const renderAction = (p: any) => {
 switch (p.action.icon) {
   case 'download':
     console.log('FILE', p.data.file);
     return (
       <DownloadButton
         onClick={event => p.action.onClick(event, p.data)}
         downloadData={{
           fileName: `file`,
           type:
             'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8',
           contentBase64: p.data.file,
         }}
         isLoading={p.data.isFileLoading}
       />
     );
   default:
     return <MTableAction {...p} />;
 }
};
источник

LK

Leonid Kuznetsov in React Kyiv
если использовать дефолтный Action то ререндера нет
источник

АО

Алексей Обратный Ананас in React Kyiv
не подскажете что тут не так?
источник

АО

Алексей Обратный Ананас in React Kyiv
источник

SG

Stas G in React Kyiv
в onChange приходит объект события 1м аргументом
источник

SG

Stas G in React Kyiv
а не текст
источник

I

Ihor in React Kyiv
Нельзя просто взять text. Обращайся к event.target.value
источник

I

Ihor in React Kyiv
не подскажете что тут не так?
источник

АО

Алексей Обратный Ананас in React Kyiv
просто так было на оф сайте
источник

SG

Stas G in React Kyiv
так там onChangeText
источник

АО

Алексей Обратный Ананас in React Kyiv
😕
источник

АО

Алексей Обратный Ананас in React Kyiv
ну это нейтив
источник

АО

Алексей Обратный Ананас in React Kyiv
там подругому я понял
источник

SG

Stas G in React Kyiv
видимо неправильно понял
источник

SG

Stas G in React Kyiv
сложно из 1й строчки предсказать
источник

АО

Алексей Обратный Ананас in React Kyiv
так она и есть одна
источник

АО

Алексей Обратный Ананас in React Kyiv
ну и хук
источник

SG

Stas G in React Kyiv
выше написали, откуда получать value
источник