【发布时间】:2022-01-12 19:24:35
【问题描述】:
我有一个关于 redux 工具包的问题。我想通过单击复选框来获取数组列表。数组对象有一个名为“已验证”的字段,该字段为真或假。据此,复选框的 Onclick 我想获取所有已验证值设置为 true 的对象。
也没有任何称为“已验证”的端点,我可以在 url 中传递它来获取我想要实现的仅经过验证的对象数组的列表。 数组结构看起来像这样 =>
{_id(pin):"61bc940989b38d9bc53832e3"
venture(pin):"xyz"
rating(pin):2.3
promotion(pin):0
verified(pin):false
},
{_id(pin):"sjkdfkla38d9bc53832e3"
venture(pin):"xyz"
rating(pin):2.3
promotion(pin):0
verified(pin):true
},
{_id(pin):"blahbdsfasd3"
venture(pin):"xyz"
rating(pin):2.3
promotion(pin):0
verified(pin):true
},
下面是我的reducer和action。
动作 = >
// get all Media Verified Cards
export const getVerifiedCards = createAsyncThunk(
'verifiedmedia/getall',
async () => {
try {
const header = {
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${Token_Media_Seller}`,
ClientId: `Bearer ${ClientId}`
}
}
const response = await axiosInstance.get(
`/media/?token=${Token_Media_Seller}&client_id=${ClientId}`,
header
)
console.log(response)
return response.data
} catch (error) {
throw error
}
}
)
减速器=>
import { createSlice } from '@reduxjs/toolkit'
import { getMediaCards } from '../actions/mediacards'
const initialState = {
mediaCards: []
}
export const mediacardSlice = createSlice({
name: 'medialist',
initialState: initialState,
reducers: {},
extraReducers: {
[getMediaCards.fulfilled.type]: (state, { payload }) => {
return {
...state,
mediaCards: payload.data
}
}
}
})
我的复选框组件 =>
所有出口 =>
const dispatch = useAppDispatch()
const selector = useAppSelector(state => state.mediacard.mediaCards) //all the items
//onclick function and the action which i want to make to get the verified values
const sortVerified = () => {
dispatch(getVerifiedCards())
console.log('action dispatched')}
JSX=>
<div className=''>
<input
type='checkbox'
value={'checked'}
onClick={sortVerified}
/>
</div>
请帮助我尝试不同的方法,但我不知道该怎么做:(
【问题讨论】:
标签: reactjs typescript api redux redux-toolkit