无法从快递应用程序中获取特定用户数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法从快递应用程序中获取特定用户数据相关的知识,希望对你有一定的参考价值。

我正在尝试检索属于特定用户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);
  }
  ...

以上是关于无法从快递应用程序中获取特定用户数据的主要内容,如果未能解决你的问题,请参考以下文章

片段 TextView 无法从 parcelable 对象更新

无法从片段中的 SQLite 获取数据

无法通过颤振应用程序中的用户 ID 获取特定的用户文档

我无法从 Firebase (Java) 获取特定数据

当我从用户获取数据并将其保存到 SQLite 数据库中时,我应该怎么做才能使列表视图在片段中工作

特定片段中的 Snackbar