reactjs - Connect(EquipmentMetadata) 中的 mapStateToProps() 必须返回一个普通对象。而是收到未定义的
问题描述
运行代码时出现以下错误,并且不确定从哪里开始调试。
Connect(EquipmentMetadata) 中的 mapStateToProps() 必须返回一个普通对象。而是收到未定义的。警告:失败的道具类型:道具名称在设备元数据中标记为必填,但其值未定义。
这是索引文件:
import 'babel-polyfill'
import React from 'react'
import { render } from 'react-dom'
// import Root from './containers/Root'
import { setName } from './actions'
// import createStore from './common/store/'
import { Provider } from 'react-redux'
import EquipmentMetadata from './containers/EquipmentMetadata'
// import ReduxPiece from './components/ReduxPiece'
import configureStore from './configureStore'
const store = configureStore()
window.EquipmentMetadata = {
store,
setName
}
render(
<Provider store={store}>
{/* <Root /> */}
<EquipmentMetadata />
</Provider>,
document.getElementById('equipment-metadata')
)
设备元数据.js:
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { connect } from 'react-redux'
import Greeting from '../components/Greeting'
// import ReduxPiece from "../components/ReduxPiece";
class EquipmentMetadata extends Component {
render () {
// const { name } = this.props
return (
<div>
<Greeting
// name={name}
/>
{/* <ReduxPiece /> */}
</div>
)
}
}
EquipmentMetadata.propTypes = {
name: PropTypes.string.isRequired
}
function mapStateToProps (state) {
// const { name } = state
// return {
// name
// }
}
function mapDispatchToProps (dispatch) {
return {}
}
export default connect(
mapStateToProps,
mapDispatchToProps
)(EquipmentMetadata)
解决方案
它告诉你mapStateToProps
应该返回一些东西——你已经完全评论了所有的东西。如果您不希望它返回任何内容,那么只需让它返回 {}。此外,在评论它时,你说它EquipmentMetadata
需要一个name 道具,你现在没有发送它。propTypes
推荐阅读
- javascript - Facebook登录windw.fb或window.gapi页面刷新后未定义
- python - 按索引添加数据帧,如果索引不存在则删除
- c# - 在 C# 中将扩展名为 txt 的文件更改为 json
- unit-testing - 带有 Mock、Spy 的 Spring AOP。AspectJProxyFactory 无法添加Aspect Mock 实例
- javascript - 传单未捕获类型错误:map.addLayer 不是函数
- java - 将两个对象矩阵相乘的有效方法
- java - Java 类不识别索引
- java - CDI 实例生产者
- flutter - 如何允许手势通过堆栈中的小部件?
- python - numpy - 打印特定 numpy 函数的文档,存储在单独的数组中