Заполните сторонний элемент из Redux JSON вместо внутренних HTML или атрибутами - PullRequest
1 голос
/ 30 апреля 2020

Я использую стороннюю библиотеку для генерации сортируемой сетки, которая ожидает подачи JSON данных, есть ли способ отправить часть избыточного хранилища в эту нереагирующую сетку, кроме как в качестве компонента реакции, атрибута или внутренний Html, так как он ожидает JSON? Сложность заключается в том, что все мои сценарии редукса являются модулями, что является проблемой, так как в этом случае сторонний элемент обернут в asp. net, поэтому я не могу открыть его для функции (хотя он может вызывать функция javascript для получения данных) и необходимость подписки на изменения, пока что это оказалось излишне трудным.

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Если я правильно понимаю ваш вопрос, вы используете какой-то сторонний элемент в приложении реагирования, которое получает данные в виде JSON? Без дополнительных подробностей о сторонней библиотеке сложно дать правильный ответ, но я попробую.

Какой бы ни была эта библиотека, вы должны каким-то образом ее визуализировать в какой-то момент. Поскольку мы не знаем, что вы используете, я выберу jQuery.

. Предположим, что используется следующее значение

$("#grid").initializeGrid(data);

Можно ожидать, что компонент реагирования будет выглядеть примерно так:

const GridWrapper = (props) => {
  const tableData = useSelector(selectTableJson);

  useEffect(() => {
    $("#grid").initializeGrid(data);
  }, [tableData]);

  return (
    <div id="grid" />
  );
}

По сути, вы выбираете данные из хранилища избыточных данных, а затем инициализируете сторонний компонент с этими данными.

0 голосов
/ 03 мая 2020

Вы можете просто позвонить store.getState(), чтобы узнать текущее состояние магазина.

Возможно, вы захотите присоединить хранилище к window, чтобы при создании создать глобальную область видимости,

window.redux = { store }

или, если вы используете современный js, создайте функцию экспорта оболочки в создаваемом вами файле

export const getStore = () => store

, чтобы вы могли затем выполнить

getStore().getState()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...