React/Node应用程序中的Facebook评论插件.js仅在刷新时显示
Facebook Comments plugin in React/Node.js app only shows on refresh
我有一个容器,可以沿着FB注释呈现一些组件。我在 React 上,看起来 facebook 评论逻辑仅适用于服务器端,因为它仅在刷新时呈现,而不是在应用程序中单击。如何让 Facebook 评论小部件显示在非引用(服务器端渲染)上?
export default class MyComponent extends Component {
constructor() {
super();
}
componentDidMount() {
// Facebook comment SDK
const fbSDK = (d, s, id) => {
let js;
const fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = '//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.6&appId=xxxxxxxxxx';
fjs.parentNode.insertBefore(js, fjs);
};
fbSDK(document, 'script', 'facebook-jssdk');
}
// some more code
render() {
// some more code
return (
// some more code
<div className={styles.fbCommentContainer}>
<div id="fb-root"></div>
<div className="fb-comments" data-href={'http://www.example.com' + this.props.location.pathname}
data-colorscheme="dark" data-width="100%" data-numposts="2" data-order-by="reverse_time"></div>
</div>
);
}
}
将此代码添加到组件所在的位置。
componentDidMount(){
window.FB.XFBML.parse();
}
它将在挂载组件后重新解析 dom。它对我有用。
相关文章:
- 强制模板刷新ember.js
- PHP和JS脚本的奇怪问题,在我刷新页面之前第一次失败
- Angular JS和Node路由/布线-仅在页面刷新后显示数据
- Node.js:每次刷新/访问时都会有新的会话
- 使用Knockout-Kendo.js库刷新KendoDropDown
- 使用js刷新页面的间隔
- 使用JS刷新部分页面
- 使用sigma.js刷新图形时Chrome会冻结
- 阻止使用JS刷新网站
- 使用 JS 刷新浏览器窗口
- 没有刷新页面的 php/js 刷新变量
- Ajax / js刷新,限制显示/从php / sql获取的内容
- angular JS刷新了一个http
- 如何在Rails应用程序中单击link_to标记后用JS刷新浏览器
- 使用Node.JS刷新api查询;Heroku
- JS刷新最小量
- 用Handlebars.js刷新我的列表
- 使用JS刷新内容时涉及的风险
- 如何使用Ajax、Json和Node.js刷新表数据
- 不使用JS刷新或重新加载页面