【发布时间】:2023-03-24 00:57:01
【问题描述】:
我的问题已经在网络上的一些问题中被触及,但我认为它没有被全面提出。
我将 Foundation 6 与 React 一起使用。一切都通过使用
import $ from 'jquery';
window.jQuery = $;
let foundation = require('path/to/foundation.js');
然后在componentDidUpdate(),我打电话给$(document).foundation()。此外,CSS 正在某处被调用。
我的问题是,一旦打开模式,我就无法使用setState() 填充数据。我想我知道当模式打开时 DOM 会发生变化,从而导致问题,但我想知道是否有人使用 Reveal 插件取得了成功?我的代码是这样的:
getData() {
Facebook.get('/me/taggable_friends', function(error, response) {
$('#modal').foundation('open');
//setTimeout is just for testing sanity
let _this = this;
setTimeout(function() {
_this.setState({ friends: response.data });
}, 3000);
})
}
再次,一切正常。我正在从 Facebook 取回数据,状态正在更新,模式正在打开,我只是无法填充模式,我将其作为我的标记:
<div id="modal" className="modal-classes-from-foundation" data-reveal>
{
this.state.friends.length > 0 &&
this.state.friends.map((friend, i) => {
return(
<div>{ friend.name }</div>
)
})
}
</div>
还要注意,this.state.friends 在构造函数中被设置为一个空数组。
所有代码在我的服务器上都是有效的(没有错误),但我是凭记忆写的,所以我不记得类/路径名之类的小细节
我尝试过的事情
- 使用
componentWillReceiveProps强制更新 - 在调用模态打开之前设置状态
【问题讨论】:
标签: javascript jquery reactjs zurb-foundation