Taro: redux状态映射到props,提示没有defaultProps

Created on 22 Oct 2019  ·  2Comments  ·  Source: NervJS/taro

环境

  • taro版本1.3.18

问题描述

项目采用ts写的,props和state的类型推断完全按照官方示例来写的,之前一直没问题,今天突然大量报下面错误

  • 请给组件提供一个 defaultProps 以提高初次渲染性能!
  • TypeError: Invalid attempt to destructure non-iterable instance

后面这个错是前面的警告导致的。

代码

import { PureComponent, ComponentClass } from '@tarojs/taro';
import { View, Image } from '@tarojs/components';
import { connect } from '@tarojs/redux';
import { Column } from '@/components';
import './index.less';

type StateProps = {
  readonly imageList: Array<string>;
}

type Props = StateProps;

interface CarImage {
  props: Props;
}

const mapStateToProps = ({ usedcarCarDetail }): StateProps => ({
  imageList: usedcarCarDetail.imageList.slice(1),
});

@connect(mapStateToProps)
class CarImage extends PureComponent {
  render() {
    const { imageList } = this.props;

    return (
      <Column title="车辆图片">
        <View className="car-image">
          {imageList.map((i) => (
            <Image
              className="car-image__item"
              mode="widthFix"
              key={i}
              src={i}
            />
          ))}
        </View>
      </Column>
    );
  }
}

export default CarImage as ComponentClass<{}, {}>;

Most helpful comment

已解决,cli和库版本不一致导致的

All 2 comments

欢迎提交 Issue~

如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏

如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。

Good luck and happy coding~

已解决,cli和库版本不一致导致的

Was this page helpful?
0 / 5 - 0 ratings