无法从反应代码读取属性格式消息未定义的错误消息

时间:2018-09-24 20:52:30

标签: reactjs

我下面有个函数,试图翻译成另一种语言 一周中的几天。这是我下面的功能。 我得到的只是“ TypeError:无法读取未定义的属性'formatMessage'” 包含以下功能的我的js文件的名称为daso

    const daysOfTheWeek = props => ([
      {
        text: props.intl.formatMessage({
          id:'Monday',
        }),   
      },
      {
        text: props.intl.formatMessage({
          id:'Tuesday',
        }),    
      },
      {
        text: props.intl.formatMessage({
          id:'Wednesday',
        }),    
      },
    ].map((day, dayId) => ({
      ...day,
      dayId
    })));

上面的函数将像这样使用

    <Select
          value={props.selectedDay}
          onChange={event => {
            event.preventDefault();
            props.onChangeDay(event.target.value);
          }}
        >
          {
            daso(props).map((day, index) => (
              <MenuItem
                key={index}
                value={day.dayId}
              >
                {day.display}
              </MenuItem>
            ))
          }
        </Select>

任何关于做错事的想法吗?

1 个答案:

答案 0 :(得分:0)

您必须导出功能。在daso.js中:

export {
 daysOfTheWeek,
 //etc.
}

,然后在您的组件的imports

import { daysOfTheWeek } from 'daso.js'

然后致电daso(props)而不是致电daysOfTheWeek(props)