Skip to content

Commit 6dd835d

Browse files
eemaanamirarbrandes
authored andcommitted
refactor: converted functions to memos for best practice
1 parent 87c1cb5 commit 6dd835d

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

src/components/bulk-email-tool/bulk-email-task-manager/BulkEmailContentHistory.jsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-disable react/no-unstable-nested-components */
22

3-
import React, { useState } from 'react';
3+
import React, { useMemo, useState } from 'react';
44
import PropTypes from 'prop-types';
55
import { useParams } from 'react-router-dom';
66
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
@@ -51,15 +51,15 @@ function BulkEmailContentHistory({ intl }) {
5151
* up a level (the `subject` field). We also convert the `sent_to` data to be a String rather than an array to fix a
5252
* display bug in the table.
5353
*/
54-
function transformDataForTable() {
54+
const transformDataForTable = useMemo(() => {
5555
const tableData = emailHistoryData?.map((item) => ({
5656
...item,
5757
subject: item.email.subject,
5858
sent_to: item.sent_to.join(', '),
5959
created: new Date(item.created).toLocaleString(),
6060
}));
6161
return tableData || [];
62-
}
62+
}, [emailHistoryData]);
6363

6464
/**
6565
* This function is responsible for setting the current `messageContent` state data. This will be the contents of a
@@ -100,7 +100,7 @@ function BulkEmailContentHistory({ intl }) {
100100
* contents of a previously sent message.
101101
*/
102102
const additionalColumns = () => {
103-
const tableData = transformDataForTable();
103+
const tableData = transformDataForTable;
104104

105105
return [
106106
{
@@ -137,7 +137,7 @@ function BulkEmailContentHistory({ intl }) {
137137
{showHistoricalEmailContentTable ? (
138138
<BulkEmailTaskManagerTable
139139
errorRetrievingData={errorRetrievingData}
140-
tableData={transformDataForTable()}
140+
tableData={transformDataForTable}
141141
tableDescription={intl.formatMessage(messages.emailHistoryTableViewMessageInstructions)}
142142
alertWarningMessage={intl.formatMessage(messages.noEmailData)}
143143
alertErrorMessage={intl.formatMessage(messages.errorFetchingEmailHistoryData)}

src/components/bulk-email-tool/bulk-email-task-manager/BulkEmailTaskHistory.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useState } from 'react';
1+
import React, { useMemo, useState } from 'react';
22
import { useParams } from 'react-router-dom';
33
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
44

@@ -41,13 +41,13 @@ function BulkEmailTaskHistory({ intl }) {
4141
setShowHistoricalTaskContentTable(true);
4242
}
4343

44-
function transformDataForTable() {
44+
const transformDataForTable = useMemo(() => {
4545
const tableData = emailTaskHistoryData?.map((item) => ({
4646
...item,
4747
created: new Date(item.created).toLocaleString(),
4848
}));
4949
return tableData || [];
50-
}
50+
}, [emailTaskHistoryData]);
5151

5252
const tableColumns = [
5353
{
@@ -103,7 +103,7 @@ function BulkEmailTaskHistory({ intl }) {
103103
{showHistoricalTaskContentTable ? (
104104
<BulkEmailTaskManagerTable
105105
errorRetrievingData={errorRetrievingData}
106-
tableData={transformDataForTable()}
106+
tableData={transformDataForTable}
107107
alertWarningMessage={intl.formatMessage(messages.noTaskHistoryData)}
108108
alertErrorMessage={intl.formatMessage(messages.errorFetchingTaskHistoryData)}
109109
columns={tableColumns}

0 commit comments

Comments
 (0)