在 React JS 中,在触发任何代码之前等待页面加载的正确方法是什么?
场景:登录服务对用户进行身份验证,然后将他们(使用 cookie)重定向到 React 应用程序。然后,React 应用程序立即搜索 cookie 并针对端点对其进行验证。
但我遇到的问题是,当用户在登录服务中进行身份验证,然后转发到 React App 时,该应用程序在 cookie 加载之前就加载得如此之快。
触发代码的正确方法是什么?我尝试包装在 componentDidMount() 中,但没有成功!
因此后端向 FE 提供的日期为:“2019-05-30T00:00:00.000Z”
我正在尝试在 FE 上渲染2019 年 5 月 30 日
所以...
let date = new Date( Date.parse('2012-01-26T13:51:50.417-07:00') );
Run Code Online (Sandbox Code Playgroud)
我一直在尝试使用MDN Javascript Date 文档
但是,如何开始修改 Date 对象并控制所需的输出呢?
使用复选框 onChange 事件,如何在未选中反应时从状态数组中删除值?
状态数组:
this.state = { value: [] }
Run Code Online (Sandbox Code Playgroud)
onChange 函数:
handleChange = event => {
if (event.target.checked) {
this.setState({
value: [...this.state.value, event.target.value]
});
} else {
this.setState({
value: [this.state.value.filter(element => element !== event.target.value)]
});
}
};
Run Code Online (Sandbox Code Playgroud)
不确定 .filter() 到底应该做什么
在此代码中,我试图找出在哪里添加 PreventDefault()
document.addEventListener("DOMContentLoaded", function(event) {
var element = document.querySelectorAll('li.nav-item');
if (element) {
element.forEach(function(el, key){
el.addEventListener('click', function () {
el.classList.toggle("active");
element.forEach(function(ell, els){
if(key !== els) {
ell.classList.remove('active');
}
});
});
});
}
});
Run Code Online (Sandbox Code Playgroud)
问题是我已经尝试过 element.preventDefault(), 和 el。甚至是埃尔。但没有看。
这是对应的html
<ul class="navbar-nav text-center">
<li class="nav-item active">
<a class="nav-link" aria-current="page" href="#">a</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">a</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">a</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
问题是我标记的是“li”而不是“li”本身中的“a”吗?