Gets rid of a top level prop passed down through a tree of components

This commit is contained in:
Sofiya Tepikin
2020-03-01 14:29:29 +01:00
parent 346d7e6dad
commit aab64a433f
12 changed files with 14 additions and 26 deletions
-1
View File
@@ -63,7 +63,6 @@ class App extends Component {
const pageProps = { const pageProps = {
cycleDay: date && getCycleDay(date), cycleDay: date && getCycleDay(date),
date, date,
handleBackButtonPress: goBack,
} }
return ( return (
@@ -14,7 +14,6 @@ class Bleeding extends Component {
static propTypes = { static propTypes = {
cycleDay: PropTypes.object, cycleDay: PropTypes.object,
handleBackButtonPress: PropTypes.func,
date: PropTypes.string.isRequired, date: PropTypes.string.isRequired,
} }
@@ -54,7 +53,6 @@ class Bleeding extends Component {
<SymptomView <SymptomView
symptom={this.symptom} symptom={this.symptom}
values={this.state} values={this.state}
handleBackButtonPress={this.props.handleBackButtonPress}
date={this.props.date} date={this.props.date}
> >
<SymptomSection <SymptomSection
-2
View File
@@ -14,7 +14,6 @@ class Cervix extends Component {
static propTypes = { static propTypes = {
cycleDay: PropTypes.object, cycleDay: PropTypes.object,
handleBackButtonPress: PropTypes.func,
date: PropTypes.string.isRequired, date: PropTypes.string.isRequired,
} }
@@ -62,7 +61,6 @@ class Cervix extends Component {
<SymptomView <SymptomView
symptom={this.symptom} symptom={this.symptom}
values={this.state} values={this.state}
handleBackButtonPress={this.props.handleBackButtonPress}
date={this.props.date} date={this.props.date}
> >
<SymptomSection <SymptomSection
-2
View File
@@ -13,7 +13,6 @@ class Desire extends Component {
static propTypes = { static propTypes = {
cycleDay: PropTypes.object, cycleDay: PropTypes.object,
handleBackButtonPress: PropTypes.func,
date: PropTypes.string.isRequired, date: PropTypes.string.isRequired,
} }
@@ -50,7 +49,6 @@ class Desire extends Component {
<SymptomView <SymptomView
symptom={this.symptom} symptom={this.symptom}
values={this.state} values={this.state}
handleBackButtonPress={this.props.handleBackButtonPress}
date={this.props.date} date={this.props.date}
> >
<SymptomSection <SymptomSection
-2
View File
@@ -13,7 +13,6 @@ class Mood extends Component {
static propTypes = { static propTypes = {
cycleDay: PropTypes.object, cycleDay: PropTypes.object,
handleBackButtonPress: PropTypes.func,
date: PropTypes.string.isRequired, date: PropTypes.string.isRequired,
} }
@@ -64,7 +63,6 @@ class Mood extends Component {
<SymptomView <SymptomView
symptom={this.symptom} symptom={this.symptom}
values={this.state} values={this.state}
handleBackButtonPress={this.props.handleBackButtonPress}
date={this.props.date} date={this.props.date}
> >
<SymptomSection <SymptomSection
-2
View File
@@ -15,7 +15,6 @@ class Mucus extends Component {
static propTypes = { static propTypes = {
cycleDay: PropTypes.object, cycleDay: PropTypes.object,
handleBackButtonPress: PropTypes.func,
date: PropTypes.string.isRequired, date: PropTypes.string.isRequired,
} }
@@ -63,7 +62,6 @@ class Mucus extends Component {
<SymptomView <SymptomView
symptom={this.symptom} symptom={this.symptom}
values={this.state} values={this.state}
handleBackButtonPress={this.props.handleBackButtonPress}
date={this.props.date} date={this.props.date}
> >
<SymptomSection <SymptomSection
-1
View File
@@ -39,7 +39,6 @@ class Note extends Component {
<SymptomView <SymptomView
symptom={this.symptom} symptom={this.symptom}
values={this.state} values={this.state}
handleBackButtonPress={this.props.handleBackButtonPress}
date={this.props.date} date={this.props.date}
> >
<SymptomSection <SymptomSection
-2
View File
@@ -14,7 +14,6 @@ class Pain extends Component {
static propTypes = { static propTypes = {
cycleDay: PropTypes.object, cycleDay: PropTypes.object,
handleBackButtonPress: PropTypes.func,
date: PropTypes.string.isRequired, date: PropTypes.string.isRequired,
} }
@@ -65,7 +64,6 @@ class Pain extends Component {
<SymptomView <SymptomView
symptom={this.symptom} symptom={this.symptom}
values={this.state} values={this.state}
handleBackButtonPress={this.props.handleBackButtonPress}
date={this.props.date} date={this.props.date}
> >
<SymptomSection <SymptomSection
-2
View File
@@ -14,7 +14,6 @@ class Sex extends Component {
static propTypes = { static propTypes = {
cycleDay: PropTypes.object, cycleDay: PropTypes.object,
handleBackButtonPress: PropTypes.func,
date: PropTypes.string.isRequired, date: PropTypes.string.isRequired,
} }
@@ -65,7 +64,6 @@ class Sex extends Component {
<SymptomView <SymptomView
symptom={this.symptom} symptom={this.symptom}
values={this.state} values={this.state}
handleBackButtonPress={this.props.handleBackButtonPress}
date={this.props.date} date={this.props.date}
> >
<SymptomSection <SymptomSection
+13 -6
View File
@@ -4,6 +4,7 @@ import PropTypes from 'prop-types'
import { connect } from 'react-redux' import { connect } from 'react-redux'
import { getDate } from '../../../slices/date' import { getDate } from '../../../slices/date'
import { goBack } from '../../../slices/navigation'
import { saveSymptom } from '../../../db' import { saveSymptom } from '../../../db'
import formatDate from '../../helpers/format-date' import formatDate from '../../helpers/format-date'
@@ -27,8 +28,8 @@ class SymptomView extends Component {
symptom: PropTypes.string.isRequired, symptom: PropTypes.string.isRequired,
values: PropTypes.object, values: PropTypes.object,
date: PropTypes.string, date: PropTypes.string,
handleBackButtonPress: PropTypes.func,
children: PropTypes.node, children: PropTypes.node,
goBack: PropTypes.func,
} }
constructor(props) { constructor(props) {
@@ -52,7 +53,7 @@ class SymptomView extends Component {
onDeleteConfirmation = () => { onDeleteConfirmation = () => {
this.deleteSymptomEntry() this.deleteSymptomEntry()
this.props.handleBackButtonPress() this.props.goBack()
} }
showConfirmationAlert = () => { showConfirmationAlert = () => {
@@ -75,13 +76,13 @@ class SymptomView extends Component {
} }
render() { render() {
const { symptom, date } = this.props const { symptom, date, goBack } = this.props
return ( return (
<View style={{flex: 1}}> <View style={{flex: 1}}>
<Header <Header
title={headerTitles[symptom]} title={headerTitles[symptom]}
subtitle={formatDate(date)} subtitle={formatDate(date)}
handleBack={this.props.handleBackButtonPress} handleBack={goBack}
handleDelete={ handleDelete={
this.state.shouldShowDelete && this.showConfirmationAlert this.state.shouldShowDelete && this.showConfirmationAlert
} }
@@ -99,11 +100,17 @@ class SymptomView extends Component {
const mapStateToProps = (state) => { const mapStateToProps = (state) => {
return({ return({
date: getDate(state) date: getDate(state),
})
}
const mapDispatchToProps = (dispatch) => {
return({
goBack: () => dispatch(goBack()),
}) })
} }
export default connect( export default connect(
mapStateToProps, mapStateToProps,
null mapDispatchToProps,
)(SymptomView) )(SymptomView)
@@ -20,7 +20,6 @@ class Temperature extends Component {
static propTypes = { static propTypes = {
cycleDay: PropTypes.object, cycleDay: PropTypes.object,
handleBackButtonPress: PropTypes.func,
date: PropTypes.string.isRequired, date: PropTypes.string.isRequired,
} }
@@ -90,7 +89,6 @@ class Temperature extends Component {
<SymptomView <SymptomView
symptom={'temperature'} symptom={'temperature'}
values={this.state} values={this.state}
handleBackButtonPress={this.props.handleBackButtonPress}
date={this.props.date} date={this.props.date}
> >
<SymptomSection <SymptomSection
+1 -2
View File
@@ -30,11 +30,10 @@ class Home extends Component {
static propTypes = { static propTypes = {
navigate: PropTypes.func, navigate: PropTypes.func,
setDate: PropTypes.func, setDate: PropTypes.func,
// The following three is not being used, // The following are not being used,
// we could see if it's possible to not pass them from the <App /> // we could see if it's possible to not pass them from the <App />
cycleDay: PropTypes.object, cycleDay: PropTypes.object,
date: PropTypes.string, date: PropTypes.string,
handleBackButtonPress: PropTypes.func,
} }
constructor(props) { constructor(props) {