에 배열에 객체를 추가하는 I가 다음 코드 조각 :방법 저장
행동 작성자 :
export function addCategories(cats){
return {
type: ADD_CATEGORY,
cats
}
}
감속기 :
function posts(state = {posts: []}, action) {
switch (action.type) {
case ADD_POST: {
console.log(action.posts)
return {...state, posts: [...state['posts'], Object.assign({}, action.posts)]}
}
default:
return state
}
}
구성 요소 :
import React, { Component } from 'react';
import { connect } from 'react-redux'
import { addCategories, addPosts } from './actions/index'
class App extends Component {
render() {
console.log(this.props)
return (
<div>
<button onClick={() => { this.props.cats({ name: "stra" }) }}>Add cat</button>
<button onClick={() => { this.props.posts({ age: 23 }) }}>Add post</button>
</div>
);
}
}
const mapStateToProps = (state) => {
console.log(state)
return {
state
}
}
const mapDispatchToState = (dispatch) => {
return {
cats: (cat) => dispatch(addCategories(cat)),
posts: (post) => dispatch(addPosts(post))
}
}
export default connect(mapStateToProps, mapDispatchToState)(App)
내가 가진 소송은
{
// other values
posts: {
posts: []
}
}
은 위의 이미지는 어떤 콘솔 인쇄 밖으로 : 따고 감속기 대신 난 상태가이처럼 보이는 얻을
{
// other values
posts: [] <- values go where
}
처럼 보이는 상태를 얻는 이루어집니다 내가 코드를 실행할 때. 이 점에 대한 조언은 내가 잘못 된 부분을 잘 모르기 때문에 크게 감사하겠습니다.
미리 감사드립니다.
게시 작업의 페이로드가 배열 또는 단일 개체로 예상됩니까? addPosts라는 이름이 붙어 있지만 배열을 전달하지 않습니다. – NValchev