Reactjs 重构方法以放入组件内部
我有一个方法,它当前在我的组件类之外。 我如何重构它,以便将其放入组件类中 请忽略其他功能。 我只需要将重构后的myFunction放在“expected”部分 你能帮我做这个吗 当前:Reactjs 重构方法以放入组件内部,reactjs,methods,ecmascript-6,components,refactoring,Reactjs,Methods,Ecmascript 6,Components,Refactoring,我有一个方法,它当前在我的组件类之外。 我如何重构它,以便将其放入组件类中 请忽略其他功能。 我只需要将重构后的myFunction放在“expected”部分 你能帮我做这个吗 当前: constmyfunction=(代码,数据)=>(isValid,availableCodes,defaultValue)=>{ 如果(有效){ const isAvailableCode=isEmpty(availableCodes)| |包括(availableCodes,code); 返回isAvail
constmyfunction=(代码,数据)=>(isValid,availableCodes,defaultValue)=>{
如果(有效){
const isAvailableCode=isEmpty(availableCodes)| |包括(availableCodes,code);
返回isAvailableCode?get(数据“原始数量”):默认值;
}
返回默认值;
}
导出默认类MyComponent扩展组件{
render(){
const{code,data,minValueAllowed,offersNotAllowed}=this.props;
const getMinValue=myFunction(代码、数据);
const minQty=getMinValue(minValue,offersNotAllowed,0);
返回(
);
}
};
预期:
导出默认类MyComponent扩展组件{
//这里重构了myFunction。。。。
render(){
const{code,data,minValueAllowed,offersNotAllowed}=this.props;
const getMinValue=myFunction(代码、数据);
const minQty=getMinValue(minValue,offersNotAllowed,0);
报税表(
);
}
};
这应该行得通。请注意在render方法中添加到myFunction的“this”
export default class MyComponent extends Component {
myFunction = (code, data) => (isValid, availableCodes, defaultValue) => {
if(isValid) {
const isAvailableCode = isEmpty(availableCodes) || includes(availableCodes, code);
return isAvailableCode ? get(data, 'originalQty') : defaultValue;
}
return defaultValue;
};
render() {
const { code , data, minValueAllowed, offersNotAllowed } = this. props;
const getMinValue = this.myFunction(code, data);
const minQty = getMinValue(minValue, offersNotAllowed, 0);
return (
<div>
<Spinner
minQty={minQty}
data={data}
/>
</div>
);
}
};
导出默认类MyComponent扩展组件{
myFunction=(代码,数据)=>(isValid,availableCodes,defaultValue)=>{
如果(有效){
const isAvailableCode=isEmpty(availableCodes)| |包括(availableCodes,code);
返回isAvailableCode?get(数据“原始数量”):默认值;
}
返回默认值;
};
render(){
const{code,data,minValueAllowed,offersNotAllowed}=this.props;
const getMinValue=this.myFunction(代码、数据);
const minQty=getMinValue(minValue,offersNotAllowed,0);
返回(
);
}
};
我的回答有帮助吗?有帮助……谢谢:)
export default class MyComponent extends Component {
//refactored myFunction here....
render() {
const { code , data, minValueAllowed, offersNotAllowed } = this. props;
const getMinValue = myFunction(code, data);
const minQty = getMinValue(minValue, offersNotAllowed, 0);
return (
<div>
<Spinner
minQty={minQty}
data={data}
/>
</div>
);
}
};
export default class MyComponent extends Component {
myFunction = (code, data) => (isValid, availableCodes, defaultValue) => {
if(isValid) {
const isAvailableCode = isEmpty(availableCodes) || includes(availableCodes, code);
return isAvailableCode ? get(data, 'originalQty') : defaultValue;
}
return defaultValue;
};
render() {
const { code , data, minValueAllowed, offersNotAllowed } = this. props;
const getMinValue = this.myFunction(code, data);
const minQty = getMinValue(minValue, offersNotAllowed, 0);
return (
<div>
<Spinner
minQty={minQty}
data={data}
/>
</div>
);
}
};