2017-05-31 4 views
1

で反応するコンポーネントを参照ください。このようなアプリをレンダリングするためにReactDOM.renderを呼び出します(bundle.jsから)JS、:は、どのように私はこのようになりますのindex.htmlと反応するアプリケーションを作成した通常のHTMLページ

import React from 'react' 
 
import { render } from 'react-dom' 
 
import App from './components/App' 
 
import { Provider } from 'react-redux' 
 
import configureStore from './redux/configureStore' 
 

 
render(
 
    <Provider store={configureStore()}> 
 
     <App /> 
 
    </Provider>, 
 
    document.getElementById('react-container') 
 
)

これまでのところとても良いです。しかし、私のコンポーネントを他のWebアプリケーションで再利用できるようにしたい。だから私は何をする必要がありますか?

私はバンドルにindex.htmlまたはindex.jsファイルを提供しないと思いますか?しかし、他のWebアプリケーションのコンポーネントをどのように参照する必要がありますか?私はbundle.jsファイルを参照する必要があると思いますが、たとえばインポートを指定する方法は?そして、バベルはどうですか?そしてReactライブラリ?

私はReduxも利用しているため、プロバイダが必要です。ストアを設定する必要があります。私はどこでそれをするべきですか?

+0

StackOverflowのための歓迎にそれをレンダリングしてみましょう!あなたの質問は実際にはかなり広範であり、いくつかの異なるステップが必要です。私はここから始めるだろうhttps://medium.com/@lokhmakov/best-way-to-create-npm-packages-with-create-react-app-b24dd449c354。私が他のreduxコンポーネントパッケージが何をしているのかを見てみましょう。具体的な質問がある場合は、お気軽に返信してください。 – azium

+0

どうすればいいですか? githubの多くの反応ライブラリの1つを見て、彼らがそれをどのようにしているか見ることができます。 –

+0

私の質問を単純化しようとすると:1つのコンポーネントでReactアプリケーションを作成し、それを私の非リアクションWebポータルに追加したい。それを達成する最も簡単な方法は何ですか? –

答えて

0

コンポーネントを再利用できるようにするには、レンダリング機能をエクスポートするためにコンポーネントをビルドする必要があります。私は、NWBはあなたのスクリプトタグを使用し、および/またはその代わりReactDOMを使用して明示的にレンダリングの

をNPMにそれを公開するためのグローバル変数をエクスポートUMDモジュールを構築することができますこの方法であなたhttps://github.com/insin/nwb/blob/master/docs/guides/ReactComponents.md#developing-react-components-and-libraries-with-nwb のために良いフィット感だと思いますむしろ、代わりにindex.jsエクスポートをコンポーネントにしたいと思います。 例:

export default props => 
    <Provider store={configureStore()}> 
     <App /> 
    </Provider> 

とユーザーコードは、DOM

ReactDOM.render(React.createElement(YourLibraryGlobalNameGeneratedFromNwb)) 
関連する問題