Я пытаюсь запустить приложение SimpleWebRTC отсюда: https://docs.simplewebrtc.com/#/?id=getting-started
Файл App.js:
import React from "react";
import { Provider } from "react-redux";
import ReduxToastr from "react-redux-toastr";
import store from "./redux/store/index";
import Routes from "./routes/Routes";
const App = () => (
<Provider store={store}>
<Routes />
<ReduxToastr
timeOut={5000}
newestOnTop={true}
position="top-right"
transitionIn="fadeIn"
transitionOut="fadeOut"
progressBar
closeOnToastrClick
/>
</Provider>
);
export default App;
. / Redux / store / index.js Файл:
import { combineReducers } from "redux";
import sidebar from "./sidebarReducers";
import layout from "./layoutReducer";
import theme from "./themeReducer";
import app from "./appReducer";
import auth from "./authReducer";
import { reducer as simplewebrtc } from '@andyet/simplewebrtc';
import { reducer as toastr } from "react-redux-toastr";
export default combineReducers({
sidebar,
layout,
theme,
toastr,
app,
auth,
simplewebrtc
});
. / Redux / store / index.js файл:
import { createStore, applyMiddleware } from "redux";
import thunk from 'redux-thunk';
import rootReducer from "../reducers/index";
const persistedState = localStorage.getItem('reduxState') ? JSON.parse(localStorage.getItem('reduxState')) : {}
var store
if(persistedState.app){
store = createStore(rootReducer, persistedState, applyMiddleware(thunk));
}else{
store = createStore(rootReducer, applyMiddleware(thunk));
}
store.subscribe(()=>{
localStorage.setItem('reduxState', JSON.stringify(store.getState()))
})
export default store;
Файл Chat.js:
const API_KEY = '';
const ROOM_PASSWORD = 'test';
const CONFIG_URL = `https://api.simplewebrtc.com/config/guest/${API_KEY}`
const ROOM_NAME = 'uniq-room-name'
class _SimpleWebRtc extends React.Component {
constructor(props) {
super(props);
}
render(){
return (
<SWRTC.Provider configUrl={CONFIG_URL}> {/* <------- problem here */}
{/* Render based on the connection state */}
<SWRTC.Connecting>
<h1>Connecting...</h1>
</SWRTC.Connecting>
<SWRTC.Connected>
<h1>Connected!</h1>
<SWRTC.RequestUserMedia audio auto />
<SWRTC.Room name={ROOM_NAME} password={ROOM_PASSWORD}>
<SWRTC.RemoteAudioPlayer />
</SWRTC.Room>
</SWRTC.Connected>
</SWRTC.Provider>
)
}
}
const SimpleWebRtc = connect(store => ({simplewebrtc: store.simplewebrtc})) (_SimpleWebRtc)
Когда я пытаюсь запустить этот код, он возвращаетследующая ошибка для меня:
app.js: 58464 Неизвестное нарушение инварианта: Не удалось найти «store» ни в контексте, ни в подпунктах «Connect (Provider)».Либо оберните корневой компонент в, либо явно передайте «store» в качестве реквизита «Connect (Provider)».
Есть ли у вас какие-либо идеи о том, что не так с этим кодом и как решить эту проблему?