在箭头函数中找不到变量

Variable not found in arrow function

错误(通过选择菜单项触发):

TypeError: org_selected is undefined

返回以下代码段:

renderItems() {
    let { orgs, org_selected, orgs_loading } = this.props;
    ...
    return <Nav>
        <NavDropdown title={org_login} id="basic-nav-dropdown">
            {_.map(orgs, (org) => {
                return <MenuItem
                    key={org.id}
                    onSelect={() => org_selected.set(org.id)}>{org.login}</MenuItem>;
            })}
        </NavDropdown>
    </Nav>;
}

为什么找不到那个变量:箭头函数不保留相同的作用域吗?

您应该检查 this.props 的值。确保比 this.props 存在 org_selected.

一样,如果问题是范围内没有 org_selected 变量,那将是 ReferenceError,而不是 类型错误。由于它是一个 TypeError,我们知道 this.props 要么没有 org_selected 属性,要么有一个值为 undefined .