我通过使用fetch来调用Web服务,但是我可以在axios的帮助下做同样的事情.所以现在我很困惑.我应该选择axios还是获取?
我有一个无状态组件,我想重新渲染它.我怎么能这样做?我试过用this
,但没用.
我可以改用forUpdate或其他东西吗?
我需要创建我们在reactjs应用程序中定义的每个组件的doc文件.我正在寻找可用于创建任何扩展文档的npm,以便它可以提取代码,评论来自我的组件并将其更改为任何扩展名的文档.如何帮助我?我的问题与关于jsdoc的其他问题不同,因为我正在使用jsdoc在reactjs中查找文档.
我正在反应应用程序中实现路由,但现在我混淆了react-router 4.0优于react-router-redux,我也对react-router-dom感到困惑,反应路由器的优点和缺点是什么? redux,react-router 4.0和react-router-dom?
如果我们通过使用调度连接到操作,有两种方式: -
1. this.props.dispatch(requestEmployees());
2. const mapDispatchToProps = (dispatch) => ({
requestEmployees: () => dispatch(requestEmployees())
});
Run Code Online (Sandbox Code Playgroud)
如果我们在bindActionCreators的帮助下做同样的事情,那么我们的代码将是: -
function matchDispatchToProps(dispatch) {
return bindActionCreators({ editLabResult: requestEmployees}, dispatch);
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,我应该使用dispatch还是 bindActionCreators?他们之间有什么区别?
我们需要在reactjs中实现本地化来定义字符串值.我该如何实现呢?
一个链接是https://www.npmjs.com/package/react-localization,但我没有得到添加它的步骤.
我试过以下步骤: -
我在ES6中添加我的组件: -
class Home扩展了React.Component {constructor(props){super(props);
}
render() {
return (
<Text>{strings.how}
</Text>
);
}
Run Code Online (Sandbox Code Playgroud)
}
我已将本地化代码添加为: -
从'react-localization'导入LocalizedStrings;
let strings = new LocalizedStrings({
en:{
how:"How do you want your egg today?",
boiledEgg:"Boiled egg",
softBoiledEgg:"Soft-boiled egg",
choice:"How to choose the egg"
},
it: {
how:"Come vuoi il tuo uovo oggi?",
boiledEgg:"Uovo sodo",
softBoiledEgg:"Uovo alla coque",
choice:"Come scegliere l'uovo"
}
});
Run Code Online (Sandbox Code Playgroud)
现在,如果您将看到上述内容: - {strings.how}我应该能够获得字符串值,因为它在本地化中定义但我无法做到.
我有一个父组件和一个子组件,我想通过使用{... this.props}将属性从Parent传递给Child,我不想在图片中有任何动作或缩减器,是否可以这样做?
我的孩子组件是这样的: -
import React, { Component } from 'react'
import ReactDOM from 'react-dom'
class SampleChild extends Component {
constructor(props) {
super(props)
}
render(){
return(
<div>This is Parent</div>
)
}
}
SampleChild.propTypes={
Header:React.PropTypes.string.isRequired
}
export default SampleChild
Run Code Online (Sandbox Code Playgroud)
我的父组件是这样的: -
import React, { Component } from 'react'
import ReactDOM from 'react-dom'
class SampleParent extends Component {
constructor(props) {
super(props)
}
render(){
return(
<div><SampleChild {...this.props}/></div>
)
}
}
export default SampleParent
Run Code Online (Sandbox Code Playgroud)
现在我如何将SampleParent组件中的Header属性传递给SampleChild?请帮助我.
我们正在使用JsDoc来创建reactjs页面的文档.我们根据jsDoc规则编写的所有评论,但仍显示以下消息:
错误:无法解析D:\ Example\src\reducers\example.js:意外的令牌
我没有在其他页面中收到错误,我们以同样的方式编写了注释,但对于某些页面,它会抛出错误.如何获取失败的确切错误消息和行号?
我正在尝试添加单元测试来验证该Yup.isValid
功能,但运行测试用例后显示错误为:Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL
。即使我更改茉莉花的最小超时,也会显示相同的错误。我验证 Yup 模式的函数是:
export const validateSchema= (
validationSchema,
data
) => {
return new Promise(async (resolve, reject) => {
await validationSchema
isValid(data)
.then(isFormValid => {
//passing response to method
})
.catch(error => reject(error));
});
};
Run Code Online (Sandbox Code Playgroud)
我的测试用例是:
test("validate Schema",async () => {
let catchFn = jest.fn();
let data= someSampleData;
//data is valid as per the schema
await validationSchema(
validationSchema,
data
)
.then(res => {
//My expected …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从 web api call 加载数据,为此我添加了两个操作,一个用于调用 webapi 方法,另一个用于加载数据。我的行为是这样的:-
export function LoadLabResult (labresult) {
return (dispatch) => {
dispatch({
type: 'RECEIVE_LABRESULT',
});
fetch('http://localhost:8090/api/Requisition/GetRequisitionTestInfo', {mode: 'no-cors'})
.then(response =>dispatch({
type: 'REQUEST_LABRESULT',
labresult:response.data
}));
}
};
export function receiveLabResult(labresult) {
console.log(labresult);
return {
type:'REQUEST_LABRESULT',
labresult:labresult
};
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是它没有调用receiveLabResult 方法。我该怎么做?如何将数据传递给labresult?
reactjs ×10
react-redux ×3
es6-promise ×2
javascript ×2
jsdoc ×2
ajax ×1
ecmascript-6 ×1
es6-modules ×1
jestjs ×1
localization ×1
react-router ×1
yup ×1