Reactjs React Redux sync操作返回一些代理对象而不是字符串
我输入了Reactjs React Redux sync操作返回一些代理对象而不是字符串,reactjs,redux,react-redux,redux-thunk,Reactjs,Redux,React Redux,Redux Thunk,我输入了currentAnswer: <input value={props.currentAnswer} onChange={(text) => dispatch(onChangeAnswer(text))} /> export function onChangeAnswer(text) { console.log(text); return { type: ON_CHANGE_ANSWER, data: text }; }
currentAnswer
:
<input
value={props.currentAnswer}
onChange={(text) => dispatch(onChangeAnswer(text))}
/>
export function onChangeAnswer(text) {
console.log(text);
return { type: ON_CHANGE_ANSWER, data: text };
}
减速器:
export default function reduce(state = initialState, action) {
switch (action.type) {
case ON_CHANGE_ANSWER:
return assign({}, state, {
currentAnswer: action.data
});
异步操作工作正常,但当我更改输入中的文本时,我会在控制台中看到下一个对象:
{type: "ON_CHANGE_ANSWER", data: Proxy}
data: Proxy {dispatchConfig: null, _targetInst: null, …}
type: "ON_CHANGE_ANSWER"
因此,我希望数据将在字段文本中输入
我该怎么发送它吗?我显然不了解所有这些是如何工作的。输入的onChange返回一个事件。你要做的就是换线
onChange={(文本)=>dispatch(onchangearse(文本))}
为此:
onChange={(text)=>dispatch(onChangeAnswer(text.target.value))}
获取您在输入中输入的值。您获取的代理是React,它使事件在不同浏览器中的行为相同。您需要访问target
中的值,该值是原始HTML元素:
<input
value={props.currentAnswer}
onChange={(event) => dispatch(onChangeAnswer(event.target.value))}
/>
dispatch(onChangeAnswer(event.target.value))}
/>
顺便说一句--所以你实际上不能通过event do redux。它可能应该被重命名为event
谢谢!我正在修改我的React本机代码,在其中我现在也不太明白这是从哪里来的。@zishe当然!很好,你现在明白了。