Redux에서 mapStateToProps를 사용하지 않고 mapDispatchToProps를 매핑할 수 있습니까?
나는 이해하려고 Redux의 To do 예를 분해하고 있다.난 그걸 읽었다.mapDispatchToProps
디스패치 액션을 소품으로 맵할 수 있기 때문에 다시 쓰기로 했습니다.addTodo.js
dispatch(addToDo)를 호출하는 대신 mapDispatchToProps를 사용합니다.내가 불렀어addingTodo()
. 다음과 같은 경우:
import React from 'react';
import {connect} from 'react-redux';
import addTodo from '../actions';
let AddTodo = ({addingTodo}) => {
let input;
return (
<div>
<form onSubmit={e => {
e.preventDefault()
if (!input.value.trim()) {
return
}
addingTodo(input.value)
input.value = ""
}}>
<input ref={node => {
input = node
}} />
<button type="submit">Submit</button>
</form>
</div>
)
}
const mapDispatchToProps = {
addingTodo: addTodo
}
AddTodo = connect(
mapDispatchToProps
)(AddTodo)
export default AddTodo
그러나 앱을 실행하면 다음과 같은 오류가 나타납니다.Error: Invalid value of type object for mapStateToProps argument when connecting component AddTodo.
사용한 적이 없습니다.mapStateToProps
AddToDo 컴포넌트부터 시작해서 뭐가 문제인지 잘 몰랐어요.직감으로는 그렇다connect()
예기하다mapStateToProps
앞서다mapDispatchToProps
.
작동 원고는 다음과 같습니다.
import React from 'react';
import {connect} from 'react-redux';
import addTodo from '../actions';
let AddTodo = ({dispatch}) => {
let input;
return (
<div>
<form onSubmit={e => {
e.preventDefault()
if (!input.value.trim()) {
return
}
dispatch(addTodo(input.value))
input.value = ""
}}>
<input ref={node => {
input = node
}} />
<button type="submit">Submit</button>
</form>
</div>
)
}
AddTodo = connect()(AddTodo)
export default AddTodo
완전한 레포는 이쪽에서 확인할 수 있습니다.
mapStateToProps 없이 mapDispatchToProps를 실행할 수 있을까요?제가 하고 싶은 일이 받아들여질 만한 일입니까?그렇지 않다면 왜 안 될까요?
네, 가능합니다.그냥 통과해null
첫 번째 인수:
AddTodo = connect(
null,
mapDispatchToProps
)(AddTodo)
네, 이는 단순히 받아들일 수 있는 연습이 아니라 행동을 촉발하는 권장 방법입니다.사용.mapDispatchToProps
반응 컴포넌트 내에서 리덕스를 사용하는 사실을 숨길 수 있습니다.
언급URL : https://stackoverflow.com/questions/47657365/can-i-mapdispatchtoprops-without-mapstatetoprops-in-redux
'programing' 카테고리의 다른 글
개체 및 어레이의 복잡한 JSON 중첩 (0) | 2023.03.31 |
---|---|
패키지에 반응하는 종속성을 추가하는 올바른 방법은 무엇입니까?반응 성분용 json (0) | 2023.03.31 |
ReactJ에서 제어된 구성 요소를 사용하여 동적 형태를 구현하는 방법은 무엇입니까? (0) | 2023.03.31 |
WordPress NinjaForms JavaScript API 제출 전 (0) | 2023.03.31 |
의 필드를 무시합니다.[Xml Ignore]와 유사한 NET JSON 시리얼화 (0) | 2023.03.31 |