Сначала вы должны получить понимание жизненного цикла React Component .
Вы пытаетесь получить данные из api в componentWillMount
, но данные все еще извлекаются, когда жизненный цикл componentDidMount
встретился там, где вы создаете переменную dataSource. Таким образом, вы не получаете никакого источника данных.
Удалите функцию componentDidMount
и измените функцию отображения так, чтобы всякий раз, когда вы получаете product_categories
, источник данных будет сгенерирован.
render() {
let {loading, error, product_categories} = this.props;
if(error) {
return (
{error}
);
}
if(product_categories & !loading){
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
this.dataSource = ds.cloneWithRows(product_categories);
return (
);
}
return (
);
}
Как показано в документации , вы не настроили никаких целей, например dev
или prod
. Вы только указали options
. Вы хотите
webpack: {
options: {},
dev: require("./config/webpack.dev.js"),
},
Кроме того, использование Webpack с Grunt бесполезно.