можно ли в redux хранить массив JSX элементов?

компонент ImgCreator рисуется в компоненте tab которых 6 штук и при переключении компонент удаляется(логика библиотеки)... если из одного таба переключения на второй а потом вернутся обратно на первый компонент снова создается а внутри есть массив который заново перебирается и рисуется(но данные в массиве те же)... так вот чтобы избежать перебора массива я решил сохранить этот массив(jsx элементов) в redux да и все работает НО правильно ли так делать?

import React from 'react'
import { useDispatch } from 'react-redux'
import { tabsActions } from '../../redux/tabs/tabsActions'
import { useSelector } from '../overrideHooks'
import styles from './ImgCreator.module.scss'

interface IImgProps {
  imgArr: Array<string>
  id: string
}

const getData = (data: Array<string>) => {
  let arr = data.map((e, i, arr) => {
    let elemSrc = arr[Math.floor(Math.random() * arr.length)]
    return (
      <div className={styles.innerContainer} key={e}>
        <img className={styles.img} src={elemSrc} alt={elemSrc} />
      </div>
    )
  })
  return arr
}

export const ImgCreator: React.FC<IImgProps> = ({ id, imgArr }) => {
  const dispatch = useDispatch()
  let arr = useSelector(state => state.tabs.data[id])
  if(!arr){
    arr = getData(imgArr)
    dispatch(tabsActions.add({[id]:arr}))
  }
  return <div className={styles.root}>{arr}</div>
}

Ответы (0 шт):