1
これは説明するのがかなり複雑です。JSX get文字列でコンポーネントを取得
次のように私は、コンポーネントライブラリからIcons
のカップルを取得しています:
import { Icons } from
私成分-ライブラリ '; `
レッツは、私は3つのアイコンがそこにIconPlus
、IconMinus
と呼ばれる持っていると言うと、 IconEquals
。
次のように私は簡単に説明小道具と一緒にIconEquals
を表示することができます。
const IconContainer = ({ description) => (
<div>
{description}
<Icons.IconEquals />
</div>
)
これはうまく動作します。今私は別の小道具icon
をこのコンテナに渡して、対応するアイコンを表示するテンプレートを実装しようとしています。
例: icon
がIconPlus
である場合、それは次のようにレンダリングする必要があります。
<div>
{description}
<Icons.IconEquals />
</div>
どのように私はそれを行うために私JSX
を実装していますか?
これは私が持っているものは基本的である:
import { Icons } from 'my-component-library'
const IconContainer = ({ description, icon }) => (
<div>
{description}
<Icons.{icon} /> // <---- Obviously that doesn't work
// ^^^^ But I need something like this
</div>
);
はこれを行うことが可能ですか?
?これは私に 'SyntaxError:unexpected token'問題をもたらします。 –
@BarryMichaelDoyle、これに対してplnkr/jsfiddleを作成してください。 –
それはあなたが正しい方向に私を持って冷たいです。私は 'const Icon = Icons [icon]'と言って ' 'をレンダリングしました –