Как я могу использовать приложение для реагирования (например, Facebook Messenger) в другом проекте?

Я хочу использовать свое приложение, созданное в React, в другом проекте, который не находится в React.

Как я могу создать новый экземпляр моего приложения внутри моего другого проекта? Что-то вроде этого:

let ReactApp = new ReactApp()

Какие-нибудь советы? Должен ли я построить его определенным образом?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
0
24
1

Ответы 1

В вашем приложении React, когда вы делаете:

ReactDOM.render(
  <h1>Hello, world!</h1>,
  document.getElementById('root')
);

Что он делает:

  1. Вычислите приложение реакции (Привет, мир!)
  2. Поместите результат в элемент DOM с идентификатором: '#root'

Вы можете вызвать ReactDOM.render () на любой веб-странице, в любое время, когда захотите, на нескольких элементах DOM. И каждый раз он будет создавать новую версию вашего приложения React в вашей DOM.


Если вы хотите экспортировать приложение React, чтобы использовать его в другом месте, я предлагаю вам экспортировать ваш основной компонент React. Затем вы импортируете его из другого проекта и вызываете для него ReactDOM.render:

MyApp.jsx:

const App = () => <h1>Hello, World!</h1>

export default App

MyOtherApp.jsx:

import MyApp from 'my-app'

ReactDOM.render(MyApp, document.getElementBy('sub-part-of-my-other-app'))

Спасибо! Я действительно хочу сгенерировать сборку для запуска моего приложения реакции в другом проекте, потому что я не хочу иметь собственный язык реакции в другом моем проекте. Ты хоть представляешь, возможно ли это?

Vi Watanabe 10.12.2018 17:06

Вам понадобится "ReactDOM" только для другого вашего проекта. Другой ваш проект может быть любым или вообще никаким. ReactDOM.render(...) - это всего лишь одна строка JS. Не совсем "родной язык реакции".

Errorname 10.12.2018 17:22

Единственный другой способ, который я вижу, - использовать iframe

Errorname 10.12.2018 17:23

Другие вопросы по теме