当我知道未定义的属性“地图”时,就无法读取它们

时间:2019-06-06 23:57:33

标签: reactjs

我的componentDidMount()中有这个。我知道这里有数据,因为我有其他输入的数据成功显示在页面上。

Axios.get('/api/v1/recipes/recipe/' + this.state.recipeId, config)
    .then(res => {
        ...
        this.setState({
            recipe: res.data.recipe,
        });
        ...
    })
    .catch(err =>{
        ...
    });

我的回报是:

{this.state.recipe.tools.map(tool => {
    return <ToolPill key={tool._id} name={tool.name} ... />
})}

我收到此错误:

TypeError: Cannot read property 'map' of undefined

我在其他地方也做了类似的事情,并且也可以使用,此外,当我通过状态路由器通过React路由器通过状态传递配方时,这种方法也可以使用,但是现在我在转到该页面后仍无法进行通话。

我还附了一张图片:

已编辑以显示状态 enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以为工具添加额外的支票。

gawk -i inplace '
    BEGIN {FS = OFS = "###"} 
    {for (i=2; i<NF; i+=2) { gsub(/&/,"\\\\&",$i) }} 
    1
' file