是否有正确的方法将数据从HTML页面传递到React组件?
我有一个像这样的React应用程序。
var X = React.createClass({ componentDidMount: function() {
fetch(this.props.feed).then(...);
}
render: function() {
return <div>{this.props.feed}</div>
}
});
feed道具用于在componentDidMount中获取JSON订阅源,该JSON订阅对特定客户而言是唯一的。
将数据从HTML传递到我的React应用程序以对其进行参数化将很方便:
<html> <body>
<div id="app" feed='custom_feed.json'></div>
</body>
</html
我当前的解决方案如下所示:
var root = document.getElementById('app');var feed = root.getAttribute('feed')
ReactDOM.render(<X feed={feed}/>, root);
这显然是可行的,但感觉应该有一个更惯用的解决方案。还有更多的React方法可以做到这一点吗?
回答:
我已经data-
为各种道具使用了属性,然后使用destructuring传递了所有道具{...dataset}
,例如:
HTML:
<div id="app" data-feed='custom_feed.json' data-someprop='value'></div>
JS:
var root = document.getElementById('app');ReactDOM.render(<X {...(root.dataset)} />, root);
编辑: 演示小提琴
编辑2018:更新小提琴
以上是 是否有正确的方法将数据从HTML页面传递到React组件? 的全部内容, 来源链接: utcz.com/qa/401315.html