2016-10-19 8 views
1

funcというファンクションからReact Componentを返す必要があり、別のファイルにレンダリングしたい場合があります。コンポーネントはFiddleReact Js:変数に変数を格納して後で使用する

class A extends React.Component { 
    render() { 
    var val = B.func("hii"); 
    return (
     <div> 
     {val} 
     </div> 
    ) 
    } 
} 

B.js

let B = { 
    func: function(msg) { 
    return msg.replace(/i/g, function myFunction(x){ 
     var imgTag = <span>Hello</span> 
     return imgTag; 
    }); 
    } 
} 

私はこれをレンダリングしたいが、それは、[オブジェクトのオブジェクト]としてレンダリングに[object Object]として

リンクをレンダリングします。私は何が間違っているか見ることができません。

+0

それは私の作品:https://jsfiddle.net/69z2wepo/60363/ –

+0

@ChristopherChiche実際に私はそれを還元店に保管しています私はreduxストアからアクセスしています。その場合、それはそのようになります。 – iamsaksham

+0

jsFidddleでも問題を再現できるのであれば完璧です:) –

答えて

0

テキストの一部を反応コンポーネントで置き換える場合は、replace関数だけでは、反応エレメントオブジェクトを文字列に変換しようとしているため、これを行うことはできません。 私はあなたのパターンにマッチし、要素の配列を作成し、Reactでそれをレンダリングするより良い方法だと思います。

たとえば、あなたがtransofrmする必要があります。

'some text REPLACEME other text'

へ:

['some text', React.createElement('A', {}, null), 'other text']

カントが今より良いコードの例を提供し、申し訳ありません; D

+1

ありがとうございます。私は論理を殺している置換機能が問題を持っています。私は何か他のものに置き換えます。 – iamsaksham

関連する問題