私はreactとreduxを使用し、コンポーネントライフサイクルフックcomponentDidMount
から非同期アクションを呼び出しています。 this.props.userは、サーバー呼び出しによって更新されます。私はデフォルト値で初期化しました。デフォルトの小道具は初めて使用できません。render ReactJS
問題が行1にあり、1回目のコンソール・ログ・プリント
- オブジェクト{名: "テスト"}および第2の時間が
- オブジェクト{ユーザー印刷:アレイ[30 ]、名前:「テスト」}
なぜthis.props
には初めてレンディング時にデフォルトのユーザー配列プロパティがないのですか?あなたの@connect
機能で
import React from 'react';
import ChildComponent from './ChildComponent';
import { fetchUsers } from "./fetchGithubUser"
import { connect } from "react-redux"
const styles = {
fontFamily: 'sans-serif',
textAlign: 'center',
color:'green',
};
@connect((store) => {
return {
user: store.users,
};
})
class App extends React.Component{
componentDidMount() {
this.props.dispatch(fetchUsers())
}
render(){
console.log(this.props) // line 1
return(
<div style={styles}>
<p> Hello World </p>
<ChildComponent />
</div>
);
}
}
App.defaultProps = {
user: [1, 2, 3, 4, 5],
name: 'Test'
}
export default App;
}のアプローチ1はうまくいきますが、アプローチ2の問題があります。https://codesandbox.io/s/65nm6kx4r –
これは、 'const InitialState = { ユーザー:[1、2、3、4、5]、// < - はユーザーの代わりにユーザーでなければなりません 名前: 'テスト' }'。 https://codesandbox.io/s/3kv053wzpp –