2016-04-07 12 views
6

Reaksiyon bileşenlerini, başka bir sayfadan dinamik olarak alıyorum girdisi olarak bir dizeyle işlemek istiyorum. Reaksiyon bileşenleri için referanslara sahip olacağım. İşte ben dize olarak Başlık bileşeni alıyorum Bu örnekte örnekBir iletkenin Yanıt bileşimi olarak işlenmesi

Page1: 
----------------------------- 
loadPage('<div><Header value=signin></Header></div>'); 

Page2: 
-------------------------------- 
var React =require('react'); 
var Header = require('./header'); 

var home = React.createClass({ 

loadPage:function(str){ 

      this.setState({ 
      content : str 
      }); 

    }, 

render : function(){ 

    return {this.state.content} 
} 

}); 

olduğunu ve benim alıcı sayfasında Başlık bileşeninin başvuru var. Halatı, gerçek tepki bileşeniyle (

+0

Kullanım durumunuz tam olarak nedir çözecek gibi görünüyor? Sağladığınız desen çok nadirdir ve dizginizi bileşenlere dönüştürebileceğinizi düşünmüyorum. Neden loadPage() işlevinizde argüman olarak bazı string id kullanmıyorsunuz, sonra render (real) bileşenleri render yönteminize göre oluşturmuyorsunuz? –

+0

Bir sayfa düzenleyicisi, biçimlendirme dosyaya kaydedildiyse, yeniden sayfa düzenleyicisine ( – jazean

+1

) geri yüklenmek zorundadır. Ardından, bileşenlerin ağacını yansıtmayan bir json yapısını daha iyi saklamanız gerekir. React bileşen bildiriminin jsx olmadan nasıl göründüğüne bakarsanız, nasıl serileştirileceğini görürsünüz. Örneğin,

'başlık altındadır:' React.createElement (Üstbilgi, {key: value}, React.createElement (OtherComponent, null)) – VonD

cevap

3

) nasıl değiştirebilirim Kullanabileceğiniz bir dize kullanarak tepki bileşenini oluşturmak için kullanabilirsiniz. Burada yanıtını kontrol Daha fazla bilgi için

var MyComponent = Components[type + "Component"]; 
return <MyComponent />; 

: React/JSX Dynamic Component Name

0

tek modülde tüm bileşenlere sahip yaşayabilir, o zaman bu oldukça iyi çalışır:

import * as widgets from 'widgets'; 
    var Type = widgets[this.props.componentId]; 
    ... 
    <Type /> 

joker ithalat bir kesim oranı bileşen kayıt defteri gibi çalışır.