2017-09-14 8 views
2

私はreactjsとMVC c#を使用しているWebアプリケーションを開発しています。reactjsのviewbagプロパティにアクセス

jsxがcshtmlに含まれているかどうかを知りたい場合は、jsxのviewbagプロパティにアクセスできますか? UIでレンダリングされるjsxに渡されるオブジェクトまたはIDがありますか?

答えて

2

ViewBagがサーバー側でレンダリングされて実行されると、ブラウザ(クライアント)でreactが呼び出されます。
あなたの主なオプションは以下のとおりです。

  1. グローバル変数 - かみそり(.cshtml)では、あなたは、グローバル オブジェクトwindow.param = ViewBag.paramを設定することができます。反応からそれにアクセスする。
    const x = window.param
  2. data-attributeを経由して反応し、あなたがレンダリングを呼び出す前に、それをつかむのルート要素に(のみプリミティブ)値を渡します。例:完全

    // razor (.cshtml) 
         <div id="root" data-param="@ViewBag.param"></div> 
    
        // react 
         const root = document.getElementById('root');  
         const param = root.getAttribute('data-param'); 
         render(<App myParam={param}/>, root) 
    
+1

作品。ありがとうございました – Maddy

関連する問題