我正在尝试检索属于特定用户ID的对象(当前已登录。我抓住所有对象(保险单)并显示它们但我无法尝试返回属于特定用户的对象用户。用户ID存储在localStorage中,是5c5b1452fbabcd494ce889e4
这是我的组成部分; `
class PolicyResultContainer extends Component {
componentDidMount() {
this.props.getPolicies();
}
render(){
const { items } = this.props.policy;
return(
<div className="policyresults-container">
{ items.map(({ _id, company, typeofins, policynum, dollarvalue, contactnum }) => (
<div className="policy" key={_id}>
<div className="policy-title-row">
<div className="record-title">{company}</div>
<input type="button"
value="DELETE"
onClick={this.onDeleteClickPolicy.bind(this,_id)}
className="editbutton"/>
</div>
<div className="record">Type: {typeofins}</div>
<div className="record">Policy #: {policynum}</div>
<div className="record">Value: {dollarvalue}</div>
<div className="record">Contact: {contactnum}</div>
</div>
))}
</div>
)
}
}
对于我在操作中的getPolicies,我有以下内容(如果我从.get行删除$ {userid}它可以工作,但我需要它是特定于用户的)
const userid = localStorage.getItem('id')
export const getPolicies = () => dispatch => {
dispatch(setItemsLoading);
axios
.get(`${API_BASE_URL}/api/policies/${userid}`)
.then(res =>
dispatch({
type: GET_POLICIES,
payload: res.data
}
)
)
};
我的MongoDB中的对象如下:
{
"_id": {
"$oid": "5c5b215055082a09440b8620"
},
"company": "comany name",
"typeofins": "type of ins",
"policynum": "pol num",
"contactnum": "cont num",
"dollarvalue": "500",
"userID": "5c5b1452fbabcd494ce889e4",
"date": {
"$date": "2019-02-06T18:02:56.417Z"
},
"__v": 0
}
在我的减速机里我有
export default function (state = initialState, action) {
switch (action.type) {
case GET_POLICIES:
return {
...state,
items: action.payload,
loading: false
}
`
我想知道导出的方法getPolicies
是否正在丢失未导出的const userid
的上下文。
尝试导出getPolicies
并在userid
期间传递componentDidMount
作为参数
export const getPolicies = (userid) => dispatch => {
dispatch(setItemsLoading);
axios
.get(`${API_BASE_URL}/api/policies/${userid}`)
.then(res =>
dispatch({
type: GET_POLICIES,
payload: res.data
}
)
)
};
class PolicyResultContainer extends Component {
constructor(props) {
super(props)
this.state = {
userid: localStorage.getItem('id')
}
}
componentDidMount() {
this.props.getPolicies(userid);
}
...