@connect
bir tepki bileşeninde mağazaya erişmeye çalıştığımda harika çalışıyor. Ancak başka bir kod parçasında nasıl erişmeliyim. Örneğin: diyelim ki, uygulamamda global olarak kullanılabilecek axios örneğimi oluşturmak için bir yetkilendirme belirteci kullanmak istiyorum, bunu başarmanın en iyi yolu nedir?
Bu benim api.js
// tooling modules
import axios from 'axios'
// configuration
const api = axios.create()
api.defaults.baseURL = 'http://localhost:5001/api/v1'
api.defaults.headers.common['Authorization'] = 'AUTH_TOKEN' // need the token here
api.defaults.headers.post['Content-Type'] = 'application/json'
export default api
Şimdi mağazamdan bir veri noktasına erişmek istiyorum, işte bir tepki bileşeni içinde onu almaya çalışsaydım şöyle görünüyordu @connect
// connect to store
@connect((store) => {
return {
auth: store.auth
}
})
export default class App extends Component {
componentWillMount() {
// this is how I would get it in my react component
console.log(this.props.auth.tokens.authorization_token)
}
render() {...}
}
Herhangi bir içgörü veya iş akışı paterni var mı?
api
yılında App
sınıf ve yapabileceğiniz simge izinlerin alınmasını müteakip api.defaults.headers.common['Authorization'] = this.props.auth.tokens.authorization_token;
, Ve aynı zamanda sen localStorage içinde saklayabilir, hem de belirteç localStorage içinde ve ona eğer varsa bu yüzden kullanıcı yenilenir sayfasında, kontrol edebilirsiniz zaman yaparsanız, ayarlayabilirsiniz., Ben en kısa sürede almak olsun api modülü belirteç ayarlamak için en iyi olacağını düşünüyorum.