이 작업을 수행하는 가장 쉬운 방법은 Andrew가 설명한 것처럼 기본 소품을 임의 값으로 설정하는 것입니다.
Component.defaultProps = {
someProp: randomValue
}
설정되어 있으면이 기본값이 다시 정의되므로 설명 된 동작에 적용됩니다.
함수를 사용하여 기본값을 설정하려는 경우 기본적으로 동일한 할당입니다.
Component.defaultProps = {
someProp = fxnRandomValue()
}
편집 :
모든 인스턴스가 진정이 소품의 값을 무작위 확인하려면, 당신은 기본적으로 전부 소품 및 구성 요소 내에서 할당을 설정 건너 건의 할 것입니다. 예 :
import { withState } from "recompose";
var enhance = withState("someProp", "updateSomeProp", (props) => props.someProp || randomValue());
var MyComponent = enhance(function(props) {
// This is your stateless component.
return <div>{props.someProp}</div>;
});
이 기본적으로 상태를 포함하는 래퍼 구성 요소를 만듭니다 : 당신이 recompose
라이브러리를 사용하는 경우
const statelessComp = ({ prop }) => {
prop = prop || fxnRandomValue();
return (
...
)
}
'var value = props.value || 함수에서 randomValue(); –
@FelixKling 구성 요소를 다시 인스턴스화하지 않고도 소품을 변경할 수 있습니까? 구성 요소가 다시 렌더링되면 동일한 값을 사용하기를 원하기 때문입니다. 그러나 무국적 기능 구성 요소가 결코 다시 렌더링되지 않으면 괜찮습니다. – mpen