Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获得组件';是否从componentDidMount()内部获取属性值?_Javascript_Jquery_Reactjs - Fatal编程技术网

Javascript 如何获得组件';是否从componentDidMount()内部获取属性值?

Javascript 如何获得组件';是否从componentDidMount()内部获取属性值?,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,我以以下方式呈现一些React组件: renderElements(elements) { return elements.map( (element) => (<Element key={element._id} element={element} />) ); } render() { return( <div className="parent"> {this.renderEn

我以以下方式呈现一些React组件:

renderElements(elements) {

    return elements.map(
        (element) => (<Element key={element._id} element={element} />)
    );
}

render() {
    return(
        <div className="parent">
            {this.renderEntries()}
        </div>
    );
}
在listElements迭代中,我希望通过键访问分配给组件的_id值。是否可以不让用户看到_id?我知道我可以将其作为自定义属性传递,并使用.attr(“u id”)检索它,但我不希望元素.u id对用户可见。如有任何见解,将不胜感激

编辑:

如果有人想知道,_id是一个数据库条目标识符,如果可能的话,我宁愿对用户隐藏它。显示此id可能不是安全问题,但如果有办法避免,那么我宁愿使用它


谢谢。

您不需要jquery和react,没有必要。您应该使用字符串或函数回调来
ref
——而且
属性是特殊的,它对儿童不可用,如果您需要,您可以提供另一个
key2
属性或其他属性。我没有将此作为解决方案发布,因为我不确定是否有办法访问
,我只记得当我需要它时,我无法获得它,不得不使用第二个道具。@Noitidart你是对的。但在本例中,我使用了一些jquery ui功能,没有看到任何其他选项。为什么需要从组件获取id?您已经在数组
元素中有了ID
也许您的用户交互不应该更改DOM,而是应该更新您的react状态,这样您就可以始终在JavaScript中有一个ID列表,而不应该在DOM中。顺便说一句,您在jQuery UI上实际做了什么?我几乎可以肯定你能摆脱它?
componentDidMount(){
    $('.parent').each(function(){
        var listElements = $(this).children();
        listElements.each(function(){
            console.log("Here I need the _id assigned to the component's key attribute...)
        });
    });
}