2017-03-26 1 views
1

Ich arbeite derzeit an einem Rails/Reagieren/Redux-Projekt. Ich habe kürzlich react-router-redux "^ 4.0.8" und react-router "^ 3.0.2" hinzugefügt und nun wird das aktuelle LocationBeforeTransitioning an jede API-Anfrage-URL angehängt (also sollte sein: http://localhost:3000/api/posts?term=“test”, versucht aber http://localhost:3000/categories/api/posts?term=“test” zu holen . die Beiträge KomponenteReact Router Redux, Hängt LocationBeforeTransitions zu API Anfragen

das Projekt ist ziemlich groß, aber ich habe einige potenziell relevante Schnipsel unten enthalten:

routes.js

module.exports = (
    <Route path="/" component={App}> 
    <IndexRedirect to="/categories"/> 
    <Route path="/categories" component={Categories}/> 
    <Route path="/:category" component={Posts}/> 
    <Route path="/categories/posts" component={Posts}/> 
    <Route path="/categories/:post" component={Citations}/> 
    … 
    <Route path="*" component={NotFound}/> 
    </Route> 
) 

configureStore.js

export default function configureStore(initialState) { 
    const composeEnhancers = composeWithDevTools({ 
    }) 
    const router = routerMiddleware(browserHistory); 
    const store = createStore(
    rootReducer, 
    initialState, 
    composeEnhancers(
     applyMiddleware(thunk, router) 
)) 
… 

actions.js

… 
export function fetchPosts (term = '', random = false) { 
    return function(dispatch) { 
    fetch(`${API_URL}posts?term=${term}&random=${random}`, { 
     method: 'get', 
     headers: !sessionStorage.jwt ? default_header : auth_header 
    }) 
    .then(response => response.json()) 
    .then(json => { 
     if (!json || json.error) { 
     let default_error = 'An Error Occured.'; 
     throw `Oops! ${json.exception || default_error}`; 
     } 
     dispatch(requestPostSuccess(term, json)); 
    }) 
    .catch(error => { 
     dispatch(requestPostError(error)); 
    }); 
    } 
} 
… 

Posts.js

… 
class Posts extends Component { 
    componentWillMount(){ 
    if (this.props.location.pathname.slice(1).split('/')[0] == 'categories'){ 
     this.props.actions.fetchPosts('', true) 
    } 
    } 
… 

Wer weiß, was dies verursacht werden könnte, und/oder eine Abhilfe?

+0

passiert mir auch, Lösung gefunden? – lironn

Antwort

0

Sie können den Wert API_URL in der FetchPosts-Funktion überprüfen.

Verwandte Themen