我使用重组库有一个无状态组件 该文件是一个容器:
import { connect } from 'react-redux';
import {
compose,
withState,
withHandlers,
} from 'recompose';
import PropTypes from 'prop-types';
import ColumnPresentation from './ColumnPresentation';
import { setPlayerStep, setWinner } from '../GameState';
export default compose(
connect(
state => ({
playerStep: state.game.playerStep,
winner: state.game.winner,
}),
dispatch => ({
setPlayerStep: () => dispatch(setPlayerStep()),
setWinner: winner => dispatch(setWinner(winner)),
}),
),
withState('count', 'setCount', 0),
withHandlers({
incrementCount: props => () => {
props.setCount(props.count + 1);
},
}),
)(ColumnPresentation);
此文件代表一个视图
import React from 'react';
import Cell from '../../../components/Cell';
function columnPresentation({
arrayFiller,
incrementCount,
}) {
return (
<div>
<div
onClick={incrementCount}
style={{ flexDirection: 'column', display: 'inline-block' }}
role="button"
tabIndex={0}
>
<p>Hello</p>
</div>
</div>
);
}
export default columnPresentation;
import React from 'react';
import ColumnPresentation from '../column/ColumnPresentationContainer';
function homePresentation() {
return (
<div style={styles.container}>
<ColumnPresentation />
<ColumnPresentation />
</div>
);
}
const styles = {
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'white',
},
};
export default homePresentation;
如何将一个无状态分量相乘,以使列表的每个分量具有独立的状态? 当我单击其中一个组件时,状态已更改。如何克隆此组件,以便克隆具有独立状态