Javascript 使用对象分解解决问题
见鬼, 我是个新手,在将代码提交到GitHub时遇到了问题。当我遇到以下错误时,请任何人帮我解决。下面是代码和错误消息 第163行到第192行在使用对象解构时出现问题Javascript 使用对象分解解决问题,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,见鬼, 我是个新手,在将代码提交到GitHub时遇到了问题。当我遇到以下错误时,请任何人帮我解决。下面是代码和错误消息 第163行到第192行在使用对象解构时出现问题 import React from 'react'; const scaleNames = { sd: 'Sodium (mg)', sl: 'Salt (g)' }; interface SSConverterProps { onRecommendedChange?: any; recomme
import React from 'react';
const scaleNames = {
sd: 'Sodium (mg)',
sl: 'Salt (g)'
};
interface SSConverterProps {
onRecommendedChange?: any;
recommended?: any;
scale?: any;
}
interface SSConverterStates {
recommended: any;
scale: any;
RecommendedInput?: any;
}
function toSodium(salt) {
return (salt * 1000) / 2.5;
}
function toSalt(sodium) {
return (sodium * 2.5) / 1000;
}
function tryConvert(recommended, convert) {
const input = parseFloat(recommended);
if (Number.isNaN(input)) {
return '';
}
const output = convert(input);
const rounded = Math.round(output * 1000) / 1000;
return rounded.toString();
}
function RecommendedVerdict(props: { sodium: number }) {
if (props.sodium < 500) {
return (
<div>
<h3>
0 - 1.25 grams of salt (this is less than a quarter of your
recommended daily intake)
</h3>
<p>
Australian adults are recommended to consume less than 5g
(less than 1 teaspoon) of salt a day.
</p>
<p>
For more information call our Heart Foundation Helpline on
13 11 12.
</p>
</div>
);
}
if (props.sodium >= 500 && props.sodium < 1000) {
return (
<div>
<h3>
1.25 - 2.5 grams of salt (this is approaching half of your
recommended daily intake)
</h3>
<p>
Australian adults are recommended to consume less than 5g
(less than 1 teaspoon) of salt a day.
</p>
<p>
For more information call our Heart Foundation Helpline on
13 11 12.
</p>
</div>
);
}
if (props.sodium >= 1000 && props.sodium < 1500) {
return (
<div>
<h3>
2.5 - 3.75 grams of salt (this is over half of your
recommended daily intake)
</h3>
<p>
Australian adults are recommended to consume less than 5g
(less than 1 teaspoon) of salt a day.
</p>
<p>
For more information call our Heart Foundation Helpline on
13 11 12.
</p>
</div>
);
}
if (props.sodium >= 1500 && props.sodium < 2000) {
return (
<div>
<h3>
3.75 - 5 grams of salt (this is approaching your recommended
daily intake)
</h3>
<p>
Australian adults are recommended to consume less than 5g
(less than 1 teaspoon) of salt a day.
</p>
<p>
For more information call our Heart Foundation Helpline on
13 11 12.
</p>
</div>
);
}
if (props.sodium === 2000) {
return (
<div>
<h3>
5 grams of salt (this is more than your recommended daily
intake)
</h3>
<p>
Australian adults are recommended to consume less than 5g
(less than 1 teaspoon) of salt a day.
</p>
<p>
For more information call our Heart Foundation Helpline on
13 11 12.
</p>
</div>
);
}
if (props.sodium > 2000) {
return (
<div>
<h3>
5 grams of salt or more (this is more than your recommended
daily intake)
</h3>
<p>
Australian adults are recommended to consume less than 5g
(less than 1 teaspoon) of salt a day.
</p>
<p>
For more information call our Heart Foundation Helpline on
13 11 12.
</p>
</div>
);
}
return <p> </p>;
}
class RecommendedInput extends React.Component<SSConverterProps, SSConverterStates> {
public constructor(props: Readonly<SSConverterProps>) {
super(props);
this.handleChange = this.handleChange.bind(this);
}
public handleChange(e) {
this.props.onRecommendedChange(e.target.value);
}
public render() {
const recommended = this.props.recommended;
const scale = this.props.scale;
return (
<div className="__field">
<label>{scaleNames[scale]}</label>
<input value={recommended} onChange={this.handleChange} />
</div>
);
}
}
class SSConverter extends React.Component<SSConverterProps, SSConverterStates> {
public constructor(props: Readonly<SSConverterProps>) {
super(props);
this.handleSodiumChange = this.handleSodiumChange.bind(this);
this.handleSaltChange = this.handleSaltChange.bind(this);
this.state = { recommended: '', scale: 'sd' };
}
public handleSodiumChange(recommended) {
this.setState({ scale: 'sd', recommended });
}
public handleSaltChange(recommended) {
this.setState({ scale: 'sl', recommended });
}
public render() {
const scale = this.state.scale;
const recommended = this.state.recommended;
const sodium =
scale === 'sl' ? tryConvert(recommended, toSodium) : recommended;
const salt =
scale === 'sd' ? tryConvert(recommended, toSalt) : recommended;
return (
<div>
<h2
className="f_avalon_mid_large"
id="convert_sodium_to_salt_or_vice_versa_21"
>
Convert Sodium to Salt or vice versa.
</h2>
<div className="inputField">
<RecommendedInput
scale="sd"
recommended={sodium}
onRecommendedChange={this.handleSodiumChange}
/>
<RecommendedInput
scale="sl"
recommended={salt}
onRecommendedChange={this.handleSaltChange}
/>
</div>
<RecommendedVerdict sodium={parseFloat(sodium)} />
</div>
);
}
}
export default SSConverter;
从“React”导入React;
常量刻度线={
sd:“钠(mg)”,
sl:‘盐(g)’
};
接口SSConverterProps{
关于建议的变更?:任何;
推荐?:任何;
比例?:任何;
}
接口SSConverterStates{
建议:任何;
规模:任何;
推荐输入?:任何;
}
对钠(盐)的作用{
返回(盐*1000)/2.5;
}
对盐(钠)的作用{
返回(钠*2.5)/1000;
}
功能tryConvert(推荐,转换){
const input=parseFloat(推荐);
if(编号为isNaN(输入)){
返回“”;
}
常量输出=转换(输入);
常量取整=数学取整(输出*1000)/1000;
返回四舍五入的.toString();
}
功能推荐判定(属性:{钠:数字}){
如果(钠含量<500){
返回(
0-1.25克盐(这不到你体重的四分之一
推荐每日摄入量)
建议澳大利亚成年人食用少于5克的食物
(每天少于1茶匙)盐。
更多信息请致电我们的心脏基金会热线
13 11 12.
);
}
如果(原料钠>=500和原料钠<1000){
返回(
1.25-2.5克盐(这接近你身体的一半
推荐每日摄入量)
建议澳大利亚成年人食用少于5克的食物
(每天少于1茶匙)盐。
更多信息请致电我们的心脏基金会热线
13 11 12.
);
}
如果(原料钠>=1000和原料钠<1500){
返回(
2.5-3.75克盐(这是你体重的一半以上
推荐每日摄入量)
建议澳大利亚成年人食用少于5克的食物
(每天少于1茶匙)盐。
更多信息请致电我们的心脏基金会热线
13 11 12.
);
}
如果(钠含量>=1500和钠含量<2000){
返回(
3.75-5克盐(这接近你的推荐量
每日摄入量)
建议澳大利亚成年人食用少于5克的食物
(每天少于1茶匙)盐。
更多信息请致电我们的心脏基金会热线
13 11 12.
);
}
如果(道具钠===2000){
返回(
5克盐(这比你推荐的每日食盐量多
(取水口)
建议澳大利亚成年人食用少于5克的食物
(每天少于1茶匙)盐。
更多信息请致电我们的心脏基金会热线
13 11 12.
);
}
如果(道具钠>2000){
返回(
5克盐或更多(这比你推荐的要多
每日摄入量)
建议澳大利亚成年人食用少于5克的食物
(每天少于1茶匙)盐。
更多信息请致电我们的心脏基金会热线
13 11 12.
);
}
返回;
}
类RecommendeInput扩展了React.Component{
公共构造函数(道具:只读){
超级(道具);
this.handleChange=this.handleChange.bind(this);
}
公共交通更改(e){
此.props.onRecommendedChange(即目标值);
}
公共渲染(){
const recommended=this.props.recommended;
const scale=this.props.scale;
返回(
{scaleNames[scale]}
);
}
}
类SSConverter扩展React.Component{
公共构造函数(道具:只读){
超级(道具);
this.handleSodiumChange=this.handleSodiumChange.bind(this);
this.handleSaltChange=this.handleSaltChange.bind(this);
this.state={建议:'',刻度:'sd'};
}
公共手持SodiumChange(推荐){
this.setState({scale:'sd',recommended});
}
公共把手AltChange(推荐){
this.setState({scale:'sl',recommended});
}
公共渲染(){
const scale=this.state.scale;
const recommended=this.state.recommended;
常量钠=
比例=='sl'?tryConvert(推荐,toSodium):推荐;
恒盐=
标度==“sd”?tryConvert(推荐,toSalt):推荐;
返回(
将钠转化为盐,反之亦然。
const scale = this.state.scale;
const recommended = this.state.recommended;
const scale = this.props.scale;
const recommended = this.props.recommended;
const { scale, recommended } = this.state;
const { scale, recommended } = this.props;