【问题标题】:How to get data from State?如何从状态中获取数据?
【发布时间】:2017-09-06 13:05:51
【问题描述】:

我正在触发一个操作并尝试从 State 获取数据,但是当我这样做时它返回一个奇怪的复杂 Object 而不是字符串。

const autoPopulateCellnumber  = (getState) => {
const cell = getState().getIn(['answers','owner-contact-number'])
const type = types.AUTO_POPULATE_CELLNUMBER;
  return {
    type,
    payload: { cell } ,
  };
};

这里 cell 变成了带有这些键的 Object map

[“大小”、“_root”、“__ownerID”、“__hash”、“__altered”]

我无法复制粘贴到这里,因为它太大了

我希望单元格类似于“+2773 1234567”

【问题讨论】:

  • 如果太大无法复制粘贴,可以考虑上传图片!
  • 如何通过从状态中解构它们来提取答案和所有者联系号码? { answers, owner-contact-number } = state;
  • getState 不是状态对象,我也确实尝试过,但我的函数采用了“状态”,只是说state.getIn(['answers','owner-contact-number']),但我仍然得到相同的答案
  • 你可以试试console.log(cell.toJS())
  • 您好,我们可能在这里使用了截然不同的方法,您为什么不使用。 getState().answers.owner-contact-number 。你可以看到我在第 31 行 github.com/zacck/ReactTODOSample/blob/master/app/actions/… 做了类似的事情。

标签: reactjs react-redux reactjs-flux immutable.js react-router-redux


【解决方案1】:

cellsimmutableMap 。您可以使用将其转换为 JS 对象 cells.toJS() 然后使用 brackets or dot notation 访问其中的任何属性,就像在其他 javascript 对象中一样。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 2020-10-05
    • 2021-04-10
    相关资源
    最近更新 更多