programing

지도 반환 시 어떻게 사용합니까?

lastcode 2023. 3. 18. 08:41
반응형

지도 반환 시 어떻게 사용합니까?

다른 반응을 생성해야 합니다.데이터 모델을 기반으로 한 JS 코드. 하지만 알 수 있습니다.

파일 "~/Scripts/Grid.jsx"에서: 해석 오류: 줄 13: 예기치 않은 토큰 if (줄 13 열 15) 줄: 52 열: 3

이 코드와 함께

var GridRow = React.createClass({
    render: function() {
        var row;

        row = this.props.cells.map(function(cell, i) {
            return (
                if(cell.URL != null && cell.URL.length > 0){
                    <td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>        
                }
                else {
                    <td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>
                }
            );
        }.bind(this));

        return (
            <tr>
                {row}
            </tr>
        );
    }
});

렌더 파트는 정말 사용법이 한정되어 있는 것 같습니까?

당신이 넣었어요return내면의 진술if다음과 같은 절:

    row = this.props.cells.map(function(cell, i) {

        if(cell.URL != null && cell.URL.length > 0){
            return <td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>;        
        }
        else {
            return <td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>;
        }

    }.bind(this));

3진수(inline if/else) 문을 사용할 수도 있습니다.다음과 같은 경우가 있습니다.

row = this.props.cells.map(function(cell, i) {
    return (cell.URL != null && cell.URL.length > 0) ? 
        (<td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>) :
        (<td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>)
}.bind(this));

또는 es6

row = this.props.cells.map((cell, i) => (cell.URL != null && cell.URL.length > 0) ? 
        (<td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>) :
        (<td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>)
);

가독성을 위해 제로건의 답변을 제안합니다

다른 문장은 삭제하겠습니다만, 중복되어 있기 때문입니다.곱슬 괄호를 제거할 수도 있습니다. 이는 선호도에 따라 다릅니다.

row = this.props.cells.map(function(cell, i) {
    if(cell.URL != null && cell.URL.length > 0)
        return <td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>;        
    return <td className={cell.Meta.HTMLClass} key={i}>{cell.Text}</td>;
}.bind(this));

언급URL : https://stackoverflow.com/questions/28567549/how-to-use-if-within-a-map-return

반응형