Product
コンポーネントをreact.js
に書いています。アイテムをクリックすると、inCartCount
の値を増やしたいと思います。 console.log
でreact.jsをクリックして数を増やす
import React, { PropTypes } from 'react';
import withStyles from 'isomorphic-style-loader/lib/withStyles';
import s from './Product.css';
var NumberFormat = require('react-number-format');
class Product extends React.Component {
addToCart(product) {
console.log(product.inCartCount);
product.inCartCount++;
}
render() {
const product = this.props.data;
product.inCartCount = product.inCartCount || 0;
return (
<div onClick={this.addToCart.bind(this, product)}>
<h3>{product.name}</h3>
<NumberFormat value={product.price} displayType={'text'} thousandSeparator={true} suffix={' Ft'}/>
<span>{product.inCartCount}</span>
</div>
);
}
}
export default withStyles(s)(Product);
値が増加しているが、それはDOM
にレンダリングされていない、私は常にブラウザで0
inCartCount
として値を参照してください。
このような子の更新カウント 'product.inCartCount ++;'は正しくありませんこれは親製品に移動する必要があります 'product'は不変で更新可能ではありません –
私は彼の製品構造を知っていません。彼が直面している問題を解決する。子コンポーネント内のデータだけを必要とする場合は、再度親に渡す必要はありません。 –