Bu github project başvuruyor ve KeyPad.js bileşeninin basit bir test yazmaya çalışıyorum.Stilli bileşenler temaProvider
Bu konuda açılan sorunları gördüm ve önerilen bir çözüm temayı bileşenlere uygun olarak aktarmaktır. Bu çözüm enzim ile çalışmaz.
Benim durumumdaki sorun, çocukların bileşenlerinin ThemeProvider aracılığıyla temayı alması ve test çalışmalarını yapabilmeleri için herkese tema desteği eklemem gerekmesi.
Örnek:
const tree = renderer.create(
<KeyPad
theme={theme}
cancel={()=> true}
confirm={()=> true}
validation={()=> true}
keyValid={()=>true} />
).toJSON();
expect(tree).toMatchSnapshot();
tuş takımı en kılmak yöntem, böyle değiştirmek tema ile bu çözüm gibi değil yapmak her yerde
render() {
let { displayRule, validation, label, confirm, cancel, theme, keyValid, dateFormat } = this.props
return (
<Container theme={theme}>
<Content theme={theme}>
<Header theme={theme}>
<CancelButton theme={theme} onClick={cancel}>
<MdCancel />
</CancelButton>
<Label>{label}</Label>
<ConfirmButton theme={theme} onClick={() => confirm(this.state.input)} disabled={!validation(this.state.input)}>
<MdCheck />
</ConfirmButton>
</Header>
<Display
theme={theme}
value={this.state.input}
displayRule={displayRule}
dateFormat={dateFormat}
cancel={this.cancelLastInsert} />
<Keys>
{[7, 8, 9, 4, 5, 6, 1, 2, 3, '-', 0, '.'].map(key => (
<Button
theme={theme}
key={`button-${key}`}
theme={theme}
click={(key) => this.handleClick(key) }
value={key}
disabled={!keyValid(this.state.input, key, dateFormat)} />
))}
</Keys>
</Content>
</Container>
)
}
desteklemek olacaktır. Bu konuda bana kim yardım edebilir?
Teşekkür
Bağlamı ThemeProvider yerine tüm bileşenlerde kullanmayı mı düşünüyorsunuz? StyledComponent ile bağlantının neden bileşenin artık doğru olmadığını gösteremiyorum. Stiller geçersiz kılınabilir. – Pietro
@Pietro, ona sahip olduğunuz şekilde devam etmenizi öneriyor. ' ''ün gerçek bir tepki bileşeni olmasını istiyorsanız en iyi çözümdür –