这是我的代码块:
const getToken = async () => {
try {
const token = await axios.post(keys.sessionURL, {
email: keys.verificationEmail,
password: keys.verificationPassword,
});
} catch (err) {
throw new Error('Unable to establish a login session.'); // here I'd like to send the error to the user instead
}
};
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在连接到外部服务器以获取令牌。这有效。现在,我想捕获一个错误,但这次不是“抛出新错误”,但我想将其发送给用户,因此我想改为使用以下内容:
res.status(401).send('Unable to get a token');
Run Code Online (Sandbox Code Playgroud)
但是因为我不在路由处理程序中,所以我不能使用“res”。那么如何将其发送给用户?
谢谢!
我有点不好意思问你这个问题,因为我相信解决这个问题很简单,而且很基本。但我仍然坚持这一点。
我想改变我的风格,例如。当 onscroll 事件触发时,我的 div 的 backgroundColor ,但这似乎不起作用。在尝试将其设置为这样的 backgroundColor:this.state.backgroundColor 时,出现错误:无法读取未定义的属性“状态”
提前致谢!
这是我的代码:
import React, { Component } from 'react';
class Header extends Component {
constructor(props) {
super(props);
this.state = {
backgroundColor: 'black',
};
}
componentDidMount() {
const headerElement = this.refs.header;
const sticky = headerElement.offsetTop;
window.addEventListener('scroll', () => this.handleScroll(sticky));
}
handleScroll(sticky) {
if (window.pageYOffset >= sticky) {
this.setState({
backgroundColor: 'yellow'
});
}
}
render() {
const { containerStyle } = styles;
return (
<header style={containerStyle} ref='header'> {this.props.text} </header>
);
}
} …Run Code Online (Sandbox Code Playgroud) 我正在从webpack 3迁移到4,这很痛苦;)
我收到此错误:
this.htmlWebpackPlugin.getHooks is not a function
Run Code Online (Sandbox Code Playgroud)
我正在尝试升级所有插件,但也许我在这里缺少什么?
不能解决那个。我正在创建具有滚动到功能的导航栏,即。当按下某个菜单项时,页面会滚动到相应的部分。虽然这似乎很简单,但我不知道如何在窗口到达该部分的重点时以不同的颜色突出显示此特定菜单项。例如 用户按下“联系人”,页面滚动到联系人部分,联系人菜单项的颜色变为红色。感谢您的任何帮助!
这是我的代码:
import React, { Component } from 'react';
import Container from './Container.jsx';
class Header extends Component {
constructor(props) {
super(props);
this.state = {
backgroundColor: 'rgba(34,34,34,0)',
};
}
componentDidMount() {
window.addEventListener('scroll', () => this.handleScroll());
}
handleScroll(e) {
const test = (pageYOffset > 900) ?
(this.setState({ backgroundColor: 'black' })) :
(this.setState({ backgroundColor: 'rgba(34,34,34,0)' }));
}
handleClick(e) {
e.preventDefault();
const elementOffsetTop = document.getElementById(e.target.innerText).offsetTop;
window.scrollTo(0, elementOffsetTop);
}
handleUp(e) {
e.preventDefault();
window.scrollTo(0, 0);
}
render() {
const menuItems = [
{ menuItem: 'O …Run Code Online (Sandbox Code Playgroud) 这是我的代码块:
it("saving flow (entering into edit mode and saving) works correctly", (done) => {
const wrapper = mount(
<Root>
<DictionaryRooms/>
</Root>
);
moxios.wait(() => {
wrapper.update();
wrapper.find('.btn-dark').at(1).simulate('click');
setTimeout(() => {
expect(wrapper.find('.editField span').at(0).text().trim()).toEqual(jsonDataRooms.data[0].name);
}, 1000);
done();
wrapper.unmount();
})
});
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在尝试模拟单击按钮,这在我的应用程序中会导致从后端服务器下载一些新数据。这些数据将在我的后端数据进入后立即可见,然后将显示出来。因此,在我的请求完成后,我再次尝试检查新数据是否符合我的预期。很明显,点击后需要时间下载,过一会就会显示出来。这就是为什么我需要像 setTimeout 这样的东西。但这行不通。不知道为什么...
感谢您的任何建议。
我在获得非常基本的功能方面遇到了问题,即。当页面小于表格大小时,我想在 React 表格上设置水平滚动。我的代码中没有任何异常,但无论如何我都会把它留在这里:
<ReactTable
data={bookingPerson}
columns={columns}
className="-striped -highlight"
defaultPageSize={7}
loading={loading}
/>
Run Code Online (Sandbox Code Playgroud) 使用react-apollo-hook时如何将参数传递给useQuery?
这不起作用:
const { data, loading, error } = useQuery(GET_DATA,
{ variables: { id: 'testId' }});
Run Code Online (Sandbox Code Playgroud)
以及查询本身:
export const GET_DATA = gql`
{ query ($id: String) {
document(id: $uid) {
uid
}
}
}
`;
Run Code Online (Sandbox Code Playgroud) 有没有一种好的方法可以将 Terraform output\xe2\x80\x99s 值传递给由 Terragrunt 中的 after hook 触发的 bash 脚本?我找不到任何好的功能来做到这一点。
\n我看不到我正在使用的辅助方法内部的更新状态。所有这些都在基于类的组件中工作,但在使用钩子时似乎不一样。看看我的评论。
import React, { useEffect, useRef, useState } from 'react';
import { createPortal } from 'react-dom';
import ReactPlayer from 'react-player';
import { VIMEO_URL } from '../../consts/urls';
import storage from '../../utils/localStorage';
const STORAGE_VIDEOS_DATA_KEY = 'VIDEOS_DATA';
import './VideoItem.scss';
const VideoItem = ({ vimeoId }) => {
useEffect(() => {
window.addEventListener(
'beforeunload',
saveStateToLocalStorage
);
return () => {
window.removeEventListener(
'beforeunload',
saveStateToLocalStorage
);
saveStateToLocalStorage();
};
}, []);
const [ videoProgress, setVideoProgress ] = useState(0);
const saveStateToLocalStorage = () => {
const videosPlayedDuration = { …Run Code Online (Sandbox Code Playgroud) 我正在尝试在回调逻辑中使用我的自定义钩子,如下所示:
import React, { useEffect, useState } from 'react';
import useDataChange from '../../hooks/useDataChange';
const SomeComponent = () => {
return (
<Table
handleTableChange={data => useDataChange(data)}
/>
);
};
export default SomeComponent;
Run Code Online (Sandbox Code Playgroud)
我的自定义钩子(只是为了简化)看起来像这样:
const useDataChange = data => {
console.log(data);
};
export default useDataChange;
Run Code Online (Sandbox Code Playgroud)
简而言之,应该在表中的数据发生更改时触发自定义钩子(即,当触发 Table 组件中的 handleTableChange 时)。相反,我得到:
React Hook "useDataChange" 不能在回调中调用。React Hooks 必须在 React 函数组件或自定义 React Hook 函数中调用 react-hooks/rules-of-hooks
表数据改变时如何使用?
reactjs ×7
react-hooks ×3
javascript ×2
css ×1
enzyme ×1
express ×1
graphql ×1
jestjs ×1
node.js ×1
react-table ×1
terragrunt ×1
webpack ×1