Реагировать на один компонент на разных страницах ASP.NET

asp.net razor reactjs react-router

661 просмотра

1 ответ

Я новичок в Reactjs. В настоящее время я не использую какой-либо транспортер, такой как Babel, и не использую систему сборки, такую ​​как Webpack. Я нахожусь на Visual Studio и использую расширение веб-компилятора для компиляции JSX в JS. Вот мой код на _Layout.cshtml:

<!DOCTYPE html>

<html>
 <head>
   <meta name="viewport" content="width=device-width" />
   <title>@ViewBag.Title</title>
    <link href="~/lib/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" />
    <link href="~/lib/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
    <link href="~/css/site.min.css" rel="stylesheet" />
 </head>
 <body>
   <div id="root">
      @RenderBody()
   </div>
   <script src="~/lib/jquery/dist/jquery.min.js"></script>
   <script src="~/lib/bootstrap/dist/js/bootstrap.min.js"></script>
   <script src="~/lib/react/react.js"></script>
   <script src="~/lib/react/react-dom.js"></script>
   <script src="~/js/jsx.min.js"></script> <!--Here is my react compiled JSX file-->
  </body>

И в этом файле я использую 2 компонента:

var MainComponent = React.createClass({
  render: function () {
    return <div id="Mainaccordion" className="panel-group" role="tablist" aria-multiselectable="true">
                <Level1Component title=".NET Core" parentAccordion="Mainaccordion" collapseTarget="dotnet" heading="dotnet">
            ...............
            ...............
            ...............
            </div>;
    }
});

var AccordionComponent = React.createClass({
   render: function () {
      return <div><h2>Hello</h2></div>
   }
});

ReactDOM.render(<MainComponent />, document.getElementById('accordionexample'));

У меня есть 2 страницы, одна из которых - Index.cshtml, где я показываю, <MainComponent />а другая - Try.cshtml, где я хочу использовать <AccordionComponent />. Но когда я пытаюсь перейти к Try.cshtml, я получаю ошибку target container is not a dom elementв браузере ???

Где я делаю что-то не так? Должен ли я использовать React Router? Любая помощь будет оценена.

Автор: Janshair Khan Источник Размещён: 08.11.2019 11:11

Ответы (1)


0 плюса

У вас должен быть элемент с id = 'accordionexample' на всех HTML-страницах, где загружен компонент React. например <div id="accordionexample"></div>.

Автор: Manolo Santos Размещён: 20.08.2016 04:25
Вопросы из категории :
32x32