Javascript React Reduct-选择Onchange get方法请求
我有以下情况,我提供a来证明我存在的问题 关于以及如何再现该案例的一些解释 我在这里的组件Javascript React Reduct-选择Onchange get方法请求,javascript,reactjs,redux,get,Javascript,Reactjs,Redux,Get,我有以下情况,我提供a来证明我存在的问题 关于以及如何再现该案例的一些解释 我在这里的组件League.js,列表中的任何联盟都有一个链接 <a href={`#${item.league_id}`} onClick={(e) => onClick(e, item.league_id)}> const onClick = (evt, id) => { evt.preventDefault(); getDetail(id) }; 这就是我在Det
League.js
,列表中的任何联盟都有一个链接
<a href={`#${item.league_id}`} onClick={(e) => onClick(e, item.league_id)}>
const onClick = (evt, id) => {
evt.preventDefault();
getDetail(id)
};
这就是我在Detail.js
组件中遇到的问题,当我在select中选择球队名称时,我想发送一个get请求getStats
,其中我必须设置两个参数(team\u id和league\u id
)
这里是相关代码
const [selectedOption, setSelectedOption] = useState("");
const selectTeamStat = evt => {
const { value } = evt.target;
setSelectedOption(value);
getStats(357, value);
};
目前我只能传递team\u id
,这是选择值selectedOption
如何传递league\u id
参数
我现在已经硬编码了,输入了
357
,但我需要使用参数league\u id
。如何从League.js
组件传递它?在我的脑海中,有两种解决方案您可能想试试:
将您选择的每个选项设置为元组:
value={[item.league_id, item.team_id]}
或者将您选择的每个选项“
team\u id
和league\u id
设置为数据属性我已经知道如何通过leagueId
状态
这些就是我所做的步骤
在reducers/index.js中,我创建了一个初始状态
RECEIVE_LEAGUE
league:[],
case RECEIVE_LEAGUE:
return {...state, leagueId: action.json};
在actions/index.js中
export const receivedLeague = json => ({
type: RECEIVE_LEAGUE,
json: json
});
我在getTeamsDetailById(id)
在Details.js
组件中
我在顶部添加了州联盟ID
并编辑了我的selectTeamStat函数
const [selectedOption, setSelectedOption] = useState('');
const selectTeamStat = (evt) => {
const { value } = evt.target;
setSelectedOption(value)
getStats(leagueId, value);
};
问题是我没有团队id值,我需要知道如何将它从一个组件传递到另一个组件OK,如果我错了,请纠正我。你有一个链接(顺便说一句,应该是一个按钮),当点击时,它会从league\u id
中填充teamDetails
,对吗?为什么不简单地将league\u id
存储在teamDetails
的旁边/里面,这样您就可以同时拥有它们了?你能提供一个工作沙箱吗?你的只显示无限的加载器。正确,沙箱不工作可能是因为你的cors,我使用cors解锁谷歌扩展。我需要了解如何在teamdetails或组件中以某种方式存储联赛id
dispatch(receivedLeague(id));
const [selectedOption, setSelectedOption] = useState('');
const selectTeamStat = (evt) => {
const { value } = evt.target;
setSelectedOption(value)
getStats(leagueId, value);
};