Reactで、ラップされたコンポーネントに対していくつかのアクセス許可に基づくチェックを実行し、それに応じてそれを返す "高次"関数を作成しようとしています。React要素からReactコンポーネントを作成する
MyComponent.js
...
export default Permissions(MyComponent)
Permissions.js
export default function Permissions(Component) {
class NewComponent extends React.Component {
// ... perform checks here
render() {
return {validPermissions && <Component />}
}
}
}
しかし、私が反応成分として、このPermissions
を使用できるようにしたいと思います(とは対照的に、コンポーネントエクスポートをラップする関数)。
それは次のようになります:私はReact.Component.isPrototypeOf(Component.children)
を実行すると
<Permissions>
<MyComponent />
</Permissions>
私は、これらのインスタンスで偽得ます。私の考えは、React
またはReactDOM
メソッドを使用してReact ElementをReact コンポーネントに変換してから、同じチェックを実行することです。
どのようにして反応成分を反応成分に変換できますか?
更新:
私は、コンテキストとしての権限について少し与えたが、権限を実装に関しては、ヘルプを探していません。
I amは、React.createElement(MyComponent)
とは基本的に逆です。
これは便利ですが、私が反応コンポーネントクラスに要素に反応変換することはできません... – Himmel
私はこの部分を理解している場合はわかりません質問。いくつかのサンプルコードを表示することができますか、 "変換された"コンポーネントが必要ですか?ユースケースは何ですか? – iaretiga