Преобразование строки в ReactComponent
Я знаю его странный вариант использования, но я уже в середине PoC и застрял с проблемой ниже.
У меня есть X jsx файлы в каталоге autoGenerated (которые переносятся из HTML с использованием библиотеки реагирования на магию). Теперь мне нужно динамически загружать их в мое реагирующее приложение в зависимости от пути. Чтобы быть более понятным, посмотрите на фрагмент кода.
<Route path="*" getComponent={(location, cb) => {
const componentName = makeComponentName(location.pathname);
$.get(`/autoGenerated/${componentName}.jsx`, (res) => {
const element = React.createElement(res);
cb(null, element);
})
}} />
</Route>
Элемент im, загружаемый с сервера, может быть как чистым JSX-содержимым, так и элементом с React.createClass и т. Д. Это зависит от меня, как я передаю свой HTML-код.
В чем собственно проблема? Я не могу преобразовать строку, загруженную из вызова ajax, в реальный компонент. Я также попытался сделать это на стороне компонентов - я имею в виду, что у меня был generalComponent, который внутри загружал контент через ajax (также получая строку), и я пытался передать эту строку как-то для метода рендеринга... это тоже не сработало.
Конечно, статическая загрузка всех компонентов невозможна, потому что их сотни, если не тысячи.
У тебя есть какие-нибудь подсказки?