我有一个组件构建在Select来自Ant Design https://ant.design/components/select/的组件上
<SomeComponent
onSelect = { this.props.handleSelect }
onDeselect = { this.props.handleDeselect }
selectionList = { valuesList }
value = { values }/>
onSelect触发动作this.props.handleSelect
export function handleSelect(value) {
return dispatch => {
dispatch(actionCreator(HANDLE_SELECT, value));
}
}
该行动进入reducer
case HANDLE_SELECT: {
const newValues = value_select(state, action);
return {
...state,
find: {
...state.a,
values: newValues
}
}
}
最后,value_select被称为做所有的魔法
export const value_select = function(state, action) {
...
const newData = {
XYZ: action.payload
}
return newData
}
这让我想到了我的问题。是否可以进一步metadata发送action?<SomeComponent.../>想象一下,我多次使用该组件。我不知道在触发action时触发了哪些渲染组件onSelect。如果我想value_select = function(state, action) {...稍后处理信息,我想知道是什么component导致了action正确处理我的数据。我需要动态设置XYZ,value_select()具体取决于<SomeComponent.../>导致action. action.payload只给我保存在value的<SomeComponent.../>东西,仅此而已。有没有一种方法可以发送更多信息,onSelect或者这是一种不好的做法,无论如何我都需要一个actionfor each component <SomeComponent.../>?