我將observable-react-project轉換爲Redux。我有主容器 - App.js和他旁邊的包括方法:第一次調用組件時不會調用mapStateToProps
handleDone() {
this.setState({ showPLock: false });
}
render() {
return (
<div className="mainContainer">
{this.props.children}
{
this.state.showPLock
? <PCode handleDone={this.handleDone.bind(this)}/>
: null
}
</div>
);
}
在第一次啓動應用程序showPLock:真。 代碼PCode:
class PCode extends Component{
constructor (props) {
super(props);
this.state = {
passcode: ''
};
}
render() {
//something doing
}
}
PCode.contextTypes = {
router: PropTypes.object.isRequired,
store: PropTypes.object.isRequired
};
PCode.propTypes = {
dispatch: PropTypes.func.isRequired,
};
function mapStateToProps(stateStore) {
const { authReducer } = stateStore;
if (authReducer.pcode !== null) {
//something return
}
}
export default connect(mapStateToProps)(PCode);
調用mapStateToProps時出現問題。他不會立即打到組件上。因此,如果我打電話回報一些東西,例如:
const { data } = this.props;
當然會發出一個未定義的。
爲什麼在第一次調用組件時沒有調用mapStateToProps?
1)在PCode中調用mapStateCalled函數,調用mapStateCalled後調用app.js 2)檢查,好吧 – ximet
@ximet是你的問題解決了嗎? – mtaube
沒有。你的兩件事不能解決我的問題 – ximet