Надеюсь, это кто-то из-за неловкости ... моя основная проблема заключается в следующем: я создал очень хороший набор реагирующих компонентов, которые я могу отобразить в моем asp. net 4.5 mvc 6 application using response.js, flux, gulp и Browsify.Инициализация компонента реагирования от asp.net
до тех пор, пока я его структурировал так, чтобы реагирующие компоненты имели все необходимые им данные, все идеально. Моя проблема теперь в том, что я хотел бы, чтобы MVC-просмотр включал реагирующие элементы и вводил свойства времени выполнения в компонент верхнего уровня по мере его создания. Поскольку я brpowserify-ки все мои реакции кода в пучок, я просто включить тег один сценарий, на мой взгляд:
<script src="/js/modules/AuthContainer.jsx"></script>
Но в то время как я обычно использую синтаксис JSX для создания экземпляра моего компонента с реквизитом как это:
... вид в ASP.NET никогда не переводится на чистом JS, так что не удается.
Я также попытался:
ReactDOM.render
(
React.createElement(AuthContainer, { successPath: '/home' }),
document.getElementById('reactRoot')
);
... внутри блока сценария, на мой взгляд, но я получаю:
Uncaught ReferenceError: AuthContainer is not defined
Но я уверен, что я обнажая «AuthContainer» через пакет браузера, поэтому я не понимаю, почему он не может разрешить этот компонент.
Я знаю, что есть способ React.NET для этого, но я не могу получить этот серверный рендеринг для работы с моими компонентами, потому что я использую jQuery для извлечения данных в компоненте componentDidMount, а рендеринг на стороне сервера задыхаясь ищет $()
jQuery.
Я хотел бы получить рендеринг на стороне сервера, но сейчас мне просто нужно, чтобы он работал, одним из способов другого. Может ли кто-нибудь предоставить простой фрагмент кода или суть того, как создать экземпляр компонента React из файла cshtml с помощью реквизитов времени выполнения?
Ну, вы, безусловно, правы, это делает это, и это легко. Мне просто нужно поверить, что для этого есть еще один способ поддержки, поддерживаемый реквизитом-через-C# -сервер.Я использую эту технику и надеюсь, что возникнет другая методология ... спасибо. – user2403744
Ну, я не верю, что существует способ «реквизит-впрыснутый-через-C# -сервер», или я не могу представить, как это может быть, и мне нравится думать об этом как о разделении проблем, ваш код на C# находится в бэкэнд и код Javascript находятся впереди, независимо от того, какой бэкэнд вы используете, это не имеет значения, код спереди, код реакции в этом случае, используют начальное состояние, которое необходимо предоставить, и может быть глобальной переменной, c'mon, взглянуть на источник instagram и искать переменную 'window._sharedData', она содержит все начальное состояние для приложения. Надеюсь, что это поможет вам. Grettings! –
Ну, я имел в виду C# изнутри файла cshtml, такого рода вещи. Но неважно, это мой план, пока я не смогу заставить его работать с React.Net, который, я думаю, потребует некоторого повторного факторинга. Огромное спасибо. – user2403744