0
Reactコンポーネントを既存のWebアプリケーションのいくつかのJQueryダイアログに追加しています。私はDOMを操作するためにJQueryを使用していません(ダイアログの最初の部分を除いて)、Reactにすべてを処理させています。状態が変わるとReactコンポーネントもダイアログの中に入ります。 Reactコンポーネントが最初にレンダリングされたdivに存在しないため、このように予期しない問題が起きる可能性はありますか?また、これは悪い習慣とみなされますか?ここではいくつかのサンプルコードは、次のとおりです。ReactコンポーネントをJQueryダイアログに追加する
index.js
const createStoreWithMiddleWare = applyMiddleware()(createStore);
ReactDOM.render(
<Provider store={ createStoreWithMiddleWare(reducers) }>
<App/>
</Provider>,
document.getElementById('app')
);
アプリケーションコンポーネント
export default class App extends Component{
render() {
return(
<div>
<ChatWindow />
</div>
);
}
}
ChatWindowコンポーネント
class ChatWindow extends Component {
render() {
return (
<div id="ChatContainer">
<div className='ChatMenu' id="MainChat">
<UserList></UserList>
<ChatMessageView></ChatMessageView>
<UserInput></UserInput>
</div>
</div>
);
}
componentDidMount() {
this.createDialog();
}
createDialog(){
const dialogId = "chatDialog";
const _dialogId = `#${dialogId}`;
const chatDiv = `<div id="${dialogId}"></div>`;
$(chatDiv).dialog({
width: 650,
height: 625
});
$(_dialogId).dialog();
$('#ChatContainer').appendTo(_dialogId);
}
}