Я получаю следующую ошибку:
Uncaught TypeError: Невозможно прочитать свойство 'isInCompositionMode' из неопределенного
, когда я пытаюсь получитьdraft.js работает с redux в моем проекте React, я следую очень удобным учебникам
https://reactrocket.com/post/draft-js-and-redux/
Он работает хорошо, но когда я пытаюсь сделать избыточное хранилище и редукторы в отдельной папке, а также мой компонент вотдельные файлы, я получил этот тип ошибки
мой код в codeandbox
Index.js
const rootReducer = combineReducers({
au: authReducer,
editorState: draftReducer
});
const logger = store => {
return next => {
return action => {
console.log("[Middleware] Dispatching", action);
const result = next(action);
console.log("[Middleware] next state", store.getState());
return result;
};
};
};
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const store = createStore(
rootReducer,
composeEnhancers(applyMiddleware(logger, thunk))
);
function App() {
return (
<Provider store={store}>
<Main />
</Provider>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
Здесь reucder
import { EditorState } from "draft-js";
const defaultState = {
editorState: EditorState.createEmpty()
};
const reducer = (state = defaultState, { editorState, type }) => {
if (type === "UPDATE_EDITOR_STATE") {
return {
...state,
editorState
};
}
return state;
};
export default reducer;
и Основной компонент
class Main extends Component {
render() {
return (
<Editor
editorState={this.props.editorState}
onChange={this.props.onSaveEditorState}
textDirectionality="RTL"
placeholder="Type Here "
/>
);
}
}
const mapStateToProps = state => {
return {
editorState: state.editorState.editorState
};
};
const mapDispatchToProps = dispatch => ({
onSaveEditorState: editorState => {
dispatch({
type: "UPDATE_EDITOR_STATE",
payload: editorState
});
}
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(Main);