3
私は酵素を使ってコンポーネントレンダリングをテストしています。酵素でReactNative Listview項目をテストする方法
ListView
アイテムをテストする通常の方法は何ですか?たとえば、次の例では、アイテムがクリックされたときに、onSelect
の小道具がIDを渡すようトリガーしますか?
私は現在ListView
は何もレンダリングしないことを意味しreact-native-mock
を使用していますし、それは親からonSelect
小道具を必要とするように私は別のコンポーネントに項目を分離することはできません。
export default class extends React.Component {
constructor(props) {
super(props);
this.dataSource = new ListView.DataSource({
rowHasChanged: (r1, r2) => r1 !== r2
})
}
renderItem = ({id, title}) => {
const {onSelect} = this.props;
return <Button onPress={() => onSelect(id)}>{title}</Button>;
}
render() {
const dataSource = this.dataSource.cloneWithRows(this.props.items);
return (
<ListView dataSource={dataSource}
renderRow={this.renderItem } />)
}
}
。このTomに感謝します。その素晴らしいパターン。 – danielbh
renderSeparatorはオブジェクトとしてparamsを渡さないため、プロパティを広げられないため、これは機能しません。 – danielbh
rowPropsはオブジェクトとして渡されますか? https://facebook.github.io/react-native/docs/listview.html – Tom