为什么我的thunk在此fetch语句中不起作用?

时间:2018-10-04 01:26:55

标签: reactjs redux react-redux

试图使我的重击工作正常,但数据未在我的receive_data操作创建者中传递:

const getData = () => dispatch => {
  console.log('getData called');
  fetch('https://jsonplaceholder.typicode.com/users')
    .then(response => response.json)
    .then(data => {
        dispatch(received_data(data))
      })

}

为什么我无法在提取中获取数据?这是什么问题?

codesandbox

1 个答案:

答案 0 :(得分:3)

您的代码中有两个问题。首先是您的fetch流程。

.then( response => response.json )

这应该是:

.then( response => response.json() )

此外,在获得users之后,您将拥有对象。因此,您不能直接渲染对象。当然,这只是测试,您不想只渲染id属性:)

更改此:

<div>
  This is Dumb
  <button onClick={getData}>Go</button>
  {users.map( user => <li>{user}</li> )}
</div>

对此:

<div>
  This is Dumb
  <button onClick={getData}>Go</button>
  {users.map( user => <li>{user.id}</li> )}
</div>