reactjs - How do I deal with d3.json to get my InitialState in React/redux -


using react/redux, i'm trying external data initial state express. i'm used work d3 wanted use d3.json reducer :

var url = 'http://localhost:3000/authors';  function cool() { d3.json(url, function(data) { dataset = data;  }); }    const authordata = (state = dataset, action) => {     switch (action.type) {       case 'data_chart_all':         return action.data       case 'data_chart_filter':         return action.data           default:             return state;                 }               };  export default authordata; 

since d3.json callback function, reducer returned undefined. how deal ? can use else d3.json ?

you need function act dispatcher in redux:

// redux action using dispatcher (think middleware) export function cool(url) {     return function(dispatch) {         return d3.json(url, response => {             dispatch(setdata(response))         }     } }  // redux action export function setdata(data) {  return {         type: 'data_chart_all',         data     } }  const authordatareducer = (state = {}, action) => {     switch (action.type) {       case 'data_chart_all':         return action.data       case 'data_chart_filter':         return action.data       default:         return state;     } };  export authordatareducer; 

to use it:

call @ beginning of application:

store.dispatch(cool("my_url")); 

note i'm not checking error handling in request


Comments