Я запустил свой реагирующий проект, используя один из Starter kit . Я использовал одну структуру Boilerplate . Я пытаюсь узнать фактический поток React
Redux Boilerplate. После ознакомления с их структурой я могу вызвать API и получить данные о компонентах. Вот поток, который я узнал по структуре: -
а. В componentDidMount я вызвал метод Mudules для создания Action.
// On view
componentDidMount() {
this.props.getCampaignTopics(1);
}
//On Modules
export const getCampaignTopics = createAction(GET_CAMPAIGN_TOPICS, (id : string) => ({id}));
б. В саге, когда действие было запущено, я вызываю конечную точку API для получения данных
// On Saga
export function* getCampaignTopics(actions) {
let id=0;
if(actions.payload.id)
{
id= actions.payload.id;
}
const responsetype = yield call(() => fetch(__CONFIG__.api_url+'topic/' + id,{method:'GET',data:{}}).then(response => response.json()))
yield put(addcampaignActions.setCampaignTopics(responsetype.data));
}
function* watchGetHome() {
yield takeLatest(addcampaignConstants.GET_CAMPAIGN_TOPICS, getCampaignTopics);
}
с. После получения данных я вызываю другой метод модулей для установки данных
export const setCampaignTopics = createAction(SET_CAMPAIGN_TOPICS, (topics : any) => ({topics}));
export const reducers = {
[GET_CAMPAIGN_TOPICS]: (state, { payload }) =>
state.merge({
...payload,
}),
[SET_CAMPAIGN_TOPICS]: (state, { payload }) =>
state.merge({
...payload,
}),
}
д. В представлении я использую селектор для разделения индексов
// Selector
const addcampaignDataSelector = state => state.addcampaign;
const topicSelector = createSelector(
addcampaignDataSelector,
payload => payload.get('topics')
);
export const addcampaignSelector = state => ({
topics: topicSelector(state)
});
е. В компоненте я получаю значение на реквизит
// render on Component
const { addcampaign } = this.props;
topics = addcampaign.topics.toJS().children;
Итак, это поток, который я получил из их урока, и я получаю данные. Но я хочу убедиться, что я на правильном пути или нет? Скажите, пожалуйста, это правильный процесс или нет?
Далее я хочу вызвать метод из компонента и получить ответ о компоненте, чтобы я мог получить данные по локальной переменной. Может ли кто-нибудь дать мне какое-нибудь учебное пособие или пример, чтобы я мог легко пройти и научиться.