VS2013을 사용하고 있고 React (0.14) 및 Typescript (1.8.5)를 사용하도록 기존 프로젝트를 설정하고 있습니다. 내 React 코드는 JSX 파일로 잘 작동합니다. 새 TSX 파일에 하나의 오류가 있습니다. 알아낼 수 없습니다. 모든이 나무 아래 구성 요소에 붙여 법안에Typescript (TSX 파일)로 React의 하위 구성 요소에 소품 전달
나는 30 이상한 오류가 -이 모든 읽기 :
재산권 'nameOfProp'IntrinsicAttributes '유형에 존재하지 않는 & IntrinsicClassAttributes> & {} & {아이들 ? : Reac ... '.
다음은 TypeScript를 가져 오는 예제 코드입니다. 어떤 도움이라도 극대화 될 것입니다. 이것은 생산에서 React를 시작하고 실행하는 데있어 마지막 장애물 중 하나이기 때문입니다. 참고 : 나는 공간을 절약하기 위해 앱 상태에 대한 정보를 포함하지 않은,하지만 (필터, 이름, ID가, 계산) 빨간 선이 하위 구성 요소 이름에만 있습니다
var App = React.createClass({
render: function() {
render (
<FilterItem
filter={this.state.artifactFilter}
count={this.state.count}
id={this.state.id}
name={this.state.name}
/>
)
}
});
var FilterItem = React.createClass({
render: function() {
return (
<span>{this.props.name} ({this.props.count})</span>
)
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react-dom.min.js"></script>
감사합니다 순전히! 나는 인터페이스로 실험했지만 제대로하지 못했습니다. 이제 작동합니다. 그래서 느슨한 정의를 지닌 소품을 지킬 방법이 없습니까? 나는 형식이 안전한 TSX 파일을 가지고 있어도 항상 인터페이스 선언을해야한다. – Simon
'T, S'에는 항상'any, any'를 사용할 수 있습니다. 그러나 타입 안전을 잃을 것입니다. 이 경우에는 컴파일러가 올바른 유형을 추론 할 방법이 없습니다. 제 생각에는 클래스를 사용하는 것이 더 쉽고, 더 읽기 쉽고, 더 이해하기 쉽습니다. 그리고 제네릭을 추가하는 것은 중복되지 않습니다. –