2017-02-28 10 views
1

私は流星からreact.jsrelay.jsというデータを受け取るという概念が好きです。たとえばmeteor.jsについては 、createContainerに私はのlocalStorageからデータを取得:meteor.jsやrelay.jsのようにcreateContainer経由でreact.jsデータを渡す方法

class App extends Component { 
    render(){ 
    return (<div>{this.props.doc}</div>); 
    } 
} 
export default createContainer(() => { 
    subscribe('doc'); 
    return { doc:Docs.find() }; 
}, App); 

または、例えばフォームrelay.jsどこpropsを割り当てgraphQLから取得したcreateContainerデータデータで:

そのような関数を作成する方法
class App extends React.Component { 
    render() { 
    var name = this.props.tea; 
    return (<li key={name}>{name}</li>); 
    } 
} 
App = Relay.createContainer(App, { 
    fragments: { 
    tea:() => Relay.QL`fragment on Tea {name}`, 
    }, 
}); 

websocketからデータを受信しますか? 私はこのようなコードを想像することができます:私は完全にそう書く助けてくださいすることが最善の方法を理解していない

class App extends Component { 
    render(){ 
    return (<div>{this.props.doc}</div>); 
    } 
} 
export default createContainer(() => { 
    return { doc:Docs.find() }; 
}, App); 

ReactDOM.render(<App>, document.getElementById('root')); 


function createContainer(options, callback) { 
    var props; 
    var socket = new WebSocket("ws://localhost:8081"); 
    socket.onmessage = function(event) { 
     props = event.data; 
    }; 
    <callback data={props}> 
} 

+1

import React from 'react'; export default function createContainer(options = {}, Component) { return React.createClass({ displayName:'DataContainer', render() { return <Component data=options />; }, }); } 

流星内のコンポーネントの完全なコードは次のようになります。私もこれについて学ぶことに興味があります。 – Yumiko

+1

@Yumiko私は、この質問に対する答えが次のように答えていることが分かりました。 – alex10

答えて

0

私はそれがmeteor.jsで働いたように見えました。そして私はそれがどのように動作すべきか理解しています。 react.jsコンポーネントを返す関数を作成するだけです。パラメータとコンポーネント自体とすべてを渡します。 createContainerの機能では、すでにwebsocketsからデータを取得することも、indexDBからデータを取り出すことも可能です。それは次のようになります非常に単純な場合

は:偉大な質問をだ

https://github.com/jedwards1211/react-meteor-data/blob/master/src/createContainer.js

関連する問題