рдЕрдкреЗрдХреНрд╖рд┐рдд рдХрд╛рд░реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рднрд╛рд╡ рдбреЗрдЯрд╛ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдЕрдзрд┐рдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред рдШрдЯрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рд░рд╛рдЬреНрдп рдзреНрд╡рдЬ рдЧреБрдг рд╕реЗрдЯ рдХрд░реЗрдВред рдпрджрд┐ рдкреГрд╖реНрда рдХреЗ рдХреВрджрдиреЗ рдкрд░ рдзреНрд╡рдЬ рдмрд┐рдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЙрдбрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рдЦреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдзреНрд╡рдЬ рдмрд┐рдЯ рдЕрднреА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣реЗрдЧрд╛ рдФрд░ рдкреГрд╖реНрда рдкрд░ рд▓реМрдЯрдиреЗ рдкрд░ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдлрд┐рд░ рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдЬреЛ рдХрд┐ рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреЙрдк-рдЕрдк рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рдЦрдирд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИред
рдпрджрд┐ рдЗрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рднрд╛рд╡ рдХреЙрд▓рдмреИрдХ рдХреЗ рдмрд╛рдж рд░рд╛рдЬреНрдп рдЕрджреНрдпрддрди рдХреЛ рдХреИрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП? рдореЗрд░рд╛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИред рдХреНрдпрд╛ рдЖрдк ComponentsWillReceiveProps рдХрд╛ рдЬреАрд╡рди рдЪрдХреНрд░ рдмрджрд▓рддреЗ рд╣реИрдВ? рдпрд╛ рдпрд╣ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рд╣реИ?
рдореИрдВрдиреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдбрд┐рдкреИрдЪ рдкреНрд░рднрд╛рд╡ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рдкреЗрд▓реЛрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдореЙрдбрд▓ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╛рдЬреНрдп рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рднреА рдкрд╛рд░рд┐рдд рдХреА, рдФрд░ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ред рдХреЛрдб рд╢реЛ рдиреАрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ:
// route components.js
showDetail = (record) => {
const { dispatch } = this.props;
dispatch({
type: effects.getDetail,
payload: { id: record.id },
callback: () => {
this.setState({
detailVisible: true,
});
},
});
};
// models
effects: {
*getDetail({ payload, callback }, { call, put }) {
const response = yield call(getDetail, payload);
if (response.success) {
if (callback && typeof callback === 'function') {
callback();
}
yield put({
type: 'getDetailSuccess',
payload: response,
});
}
},
}
рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рднрд╛рд╡ рдкреНрд░реЗрд╖рдг рдХреЗ рдмрд╛рдж рдПрдХ рд╡рд╛рджрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛, рдмрд╕ рд╡рд╛рджреЗ рдореЗрдВ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ
рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рднрд╛рд╡ рдкреНрд░реЗрд╖рдг рдХреЗ рдмрд╛рдж рдПрдХ рд╡рд╛рджрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛, рдмрд╕ рд╡рд╛рджреЗ рдореЗрдВ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ
рдЙрд╕рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреИрд╕реЗ рд╣реЛ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рднрд╛рд╡ рдкреНрд░реЗрд╖рдг рдХреЗ рдмрд╛рдж рдПрдХ рд╡рд╛рджрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛, рдмрд╕ рд╡рд╛рджреЗ рдореЗрдВ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ