组件中不可用的道具[重复]
Posted
技术标签:
【中文标题】组件中不可用的道具[重复]【英文标题】:props not available in component [duplicate] 【发布时间】:2018-09-23 13:53:09 【问题描述】:我正在尝试实现我的第一个 react/redux/thunk 测试调度消息。但是我不明白为什么“按”功能找不到道具。
未捕获的类型错误:无法读取未定义的属性“道具” 新闻时 (stuffList.js:17)
这在 componentWillMount() 中可以正常工作,但是当我单击按钮时它将无法正常工作。有人可以帮我澄清一下吗?
import connect from 'react-redux';
import bindActionCreators from 'redux';
import * as stuffActions from '../actions/stuffActions';
import PropTypes from 'prop-types';
import React from 'react';
class stuffList extends React.Component
componentWillMount()
//this.props.stuffActions.fetchStuff();
this.props.stuffActions.test();
press()
this.props.stuffActions.test();
renderData(item)
return <div key=item.id>item.name</div>;
render()
return (
<div className="">
this.props.data
<button onClick=this.press>Click</button>
</div>
)
stuffList.propTypes =
stuffActions: PropTypes.object,
stuff: PropTypes.array
;
function mapStateToProps(state)
console.log(state);
return
data: state.stuff
;
function mapDispatchToProps(dispatch)
return
stuffActions: bindActionCreators(stuffActions, dispatch)
;
export default connect(
mapStateToProps,
mapDispatchToProps
)(stuffList);
【问题讨论】:
【参考方案1】:您需要将组件上下文绑定到处理程序:
<button onClick=this.press.bind(this)>Click</button>
【讨论】:
以上是关于组件中不可用的道具[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Angular:组件 X 不包含在模块中,并且在模板中不可用
除非我刷新页面,否则 Javascript localStorage 在其他组件中不可用