无法在React项目中显示分数。甚至使用math.js也会出现子错误

时间:2018-10-22 15:57:11

标签: javascript reactjs fractions math.js

我想创建自己的配方转换器,并需要部分测量值,例如杯子和茶匙的分数。当我尝试将这些作为部分插入对象时,如下所示,它在网页上显示小数,而不是所需的比率。

export const ingredients = [
{
    id: 1,
    name: 'rice wine vinegar (or sub apple cider vinegar)',
    category: 'Pickled Vegetables',
    portion: 2/3,
    unit: 'cup',
},

经过研究,我发现了npm模块mathjs并下载了它,以解决我的问题。

不过,添加此代码后,(似乎可以单独使用)

const math = require('mathjs')

math.config({
     number: 'Fraction'
})

然后是此代码

export const ingredients = [
{
    id: 1,
    name: 'rice wine vinegar (or sub apple cider vinegar)',
    category: 'Pickled Vegetables',

//portion value has changed
    portion: math.fraction(`2/3`),
    unit: 'cup',
},

我从分数的示例中复制了模块的website,我收到了一个错误,该对象不是有效的React子对象,而是使用数组。

基于我从网站上看到的内容,似乎没有这个值放在数组中是完全可以的。

我也尝试将/放置在''中,但VS Code不接受

portion: 2'/'3,

文本编辑器解释说这是不正确的语法,现在我很茫然。

我的代码有什么问题,我是否在使用分数的正确道路上?

1 个答案:

答案 0 :(得分:2)

这是因为您只进行了一半格式化...

尝试一下:

/* for readability let's declare two thirds first */
const twoThirds = math.format(math.fraction('2/3'), { fraction: 'ratio' })

export const ingredients = [
{
    id: 1,
    name: 'rice wine vinegar (or sub apple cider vinegar)',
    category: 'Pickled Vegetables',

//portion value has changed
    portion: twoThirds,
    unit: 'cup',
},

The MathJs example page shows all fraction options