【发布时间】:2017-06-10 23:15:12
【问题描述】:
我有一个 const newProducts 正在返回 undefined,但在 chrome 开发控制台中说它不是未定义的:
它说它在控制台中以黄色突出显示的文本定义,当悬停在它上面时未定义。它不应该是未定义的。我已经逐步完成了代码,map 中的returns 正在返回值。为什么这个const 出现undefined 而不是undefined?
searchResults.reducer.js
// @flow
import initialState from '../../config/config'
import {
FETCH_PRODUCTS_REJECTED,
UPDATE_SEARCH_RESULTS
} from '../search-page/searchPage.action'
import { SET_SELECTED_SHOP } from '../search-results/searchResults.action'
const searchResults = (
initialResultsState: [] = initialState.get('searchResults'),
action: Object): string => {
switch (action.type) {
case UPDATE_SEARCH_RESULTS: {
const newProducts = action.payload.products.map(product => {
return {
shop: {
id: product.shop[0].f1,
name: product.shop[0].f2,
coordinate: {
latitude: product.shop[0].f4,
longitude: product.shop[0].f3
},
selected: false
},
products: product.products
}
})
return initialResultsState.set('products', newProducts)
}
case SET_SELECTED_SHOP: {
const newProducts = initialResultsState.get('products').map(product => {
if (product.shop.id === action.payload) {
return {
shop: {
...product.shop,
selected: true
},
products: product.products
}
} else {
return {
shop: {
...product.shop,
selected: false
},
products: product.products
}
}
})
return initialResultsState.set('products', newProducts)
}
case FETCH_PRODUCTS_REJECTED: {
console.log('there was an issue getting products: ',
action.payload)
return initialResultsState
}
default:
return initialResultsState
}
}
export default searchResults
【问题讨论】:
-
这个 ES2015 是在浏览器中运行,还是转译为 ES5,然后使用源映射进行调试以显示为原始 ES2015?
-
@HuguesMoreau 是 react native 在幕后处理的。我认为它被转译了。
标签: javascript react-native redux react-redux