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?
passiert mir auch, Lösung gefunden? – lironn