Всем привет.
Начал изучать react + redux и сразу же столкнулся с проблемами. Никак не могу изменить данные с помощью dispatch.
На данный момент моя задача при заходе на страницу, кинуть ajax запрос, получить данные и отрендерить их. Что у меня есть:
index.js
import React from 'react’
import ReactDOM from 'react-dom’
import App from './containers/App’
import { createStore } from 'redux’
import { Provider } from 'react-redux’
import reducer from ‘./reducers’
const store = createStore(reducer, window.REDUX_DEVTOOLS_EXTENSION && window.REDUX_DEVTOOLS_EXTENSION())
ReactDOM.render(
<Provider store = {store}>
<App/>
</Provider>
,
document.getElementById('panel-body')
);
reducer.js
import { combineReducers } from 'redux'
import todos from './todos'
export default combineReducers({
todos
})
todos.js
const initialState = {
users : [
'Smells like spirit',
'Enter Sandman'
]
};
export default function playlist(state = initialState, action) {
switch(action.type) {
case 'USER_LIST_SUCCESS':
return Object.assign({}, state, { users: action.users });
}
return state;
}
App.js
import React from 'react';
import { Component } from 'react';
import CreateComponentNewInnovations from '../components/CreateComponentNewInnovations'
import CreateTableView from '../components/CreateTableView'
export default class App extends Component {
render() {
return (
<div>
<CreateTableView/>
</div>
)}
}
CreateTableView.js
import React from 'react';
import { Component } from 'react'
import { connect } from 'react-redux'
// import store from '../index'
class CreateTableView extends Component {
componentDidMount() {
this.ajax()
}
ajax(){
$.ajax({
dataType : 'json',
type : 'post',
url : '/system/get',
success : function (data) {
//тут я хочу задать данные и в дальнейшем рендерить
store.dispatch({
type: 'USER_LIST_SUCCESS',
users: data
});
}
})
}
render(){
return (
<div className="container">
<div className="panel-group">
<div className="panel panel-default">
</div>
</div>
</div>
)
}
}
const mapStateToProps = function(store) {
return {
users: store.todos.users
};
}
export default connect(mapStateToProps)(CreateTableView)
Выдает ошибку что не может найти store, но я не могу понять почему) Кто знает в чем проблема?