Nano Hash - криптовалюты, майнинг, программирование

Интегрируйте приложение React, созданное с помощью create-react-app, во внешнее приложение.

Я использую create-react-app-typescript для создания реагирующего приложения. . Что я пытаюсь сделать, так это build приложение, а затем включить полученные файлы js и CSS в другое приложение (это очень старое приложение, которое ничего не знает о React или каких-либо новых функциях JavaScript)

Моя проблема: я хочу иметь возможность передавать информацию моему приложению React; например, я хочу указать массив, который будет использоваться для отображения информации, но проблема в том, что как только я добавлю тег <script> в файл React js, он попытается создать приложение в целевом элементе div.

Не уверен, что это хорошая идея, но я стараюсь максимально избегать ejecting моего приложения React, чтобы мне не нужно было поддерживать все самому.

Одно из решений, о котором я подумал, состояло в том, чтобы создать элемент в localStorage, а затем прочитать его из моего приложения React, и это каким-то образом решает проблему, но хороший ли это способ сделать это?

И еще есть еще одна проблема: я хочу иметь возможность передать обратный вызов из внешнего приложения, которое будет вызываться из моего приложения React, чтобы вызвать что-то в моем внешнем приложении, и это невозможно сделать с помощью localStorage

Любая помощь или совет глубоко оценены, спасибо


  • Я думаю, вы можете путать концепцию приложения и компонента, что вполне разумно, поскольку реакция хорошо стирает эту грань. вместо того, чтобы извлекать приложение из вашего проекта create-реагировать-приложение, предоставьте компонент App другому вашему приложению. затем вы можете вызвать ReactDOM.render и передать все, что хотите, в свой компонент приложения в качестве реквизита (обратные вызовы, массивы и т. д.) 04.02.2018
  • Не могли бы вы подробнее рассказать о том, как выставить компонент App наружу? 04.02.2018

Ответы:


1

Вам вообще не нужно выбрасывать проект. Одно из возможных решений (возможно, не самое лучшее) — просто изменить index.js, чтобы открыть ваше приложение. Таким образом, вместо прямого «рендеринга» приложения сделайте что-то вроде следующего

// needed imports

window.startFromOutside = function(element, callback) {
  ReactDOM.render(<ReactApp cb={callback} />, element)
}

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

04.02.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..