2016-02-25 24 views
5

Dưới đây là một phần của thành phần phản ứng của tôi. Tôi có một đạo cụ có tên daysUntil đi vào thành phần này chứa một số. Trong ví dụ này nó đang được vượt qua số 0 mà kết quả trong hàm FontWeight trở về 700Phản ứng gốc - Không thể chuyển đổi NSNumber thành NSString

render: function() { 
    return (
     <Text style={this.style()}> 
     {this.props.day} 
     </Text> 
    ) 
    }, 
    style: function() { 
    return { 
     fontWeight: this.fontWeight() 
    } 
    }, 
    fontWeight: function() { 
    var weight = 7 - this.props.daysUntil; 
    return weight * 100; 
    } 

tôi nhận được lỗi sau:

JSON value '700' of type NSNumber cannot be converted to NSSTring.

Tôi giả định này là bởi vì font-weight hy vọng giá trị ở định dạng chuỗi. Sửa chữa thích hợp cho việc này là gì?

Cảm ơn bạn trước!

Trả lời

13

Trong FontWeight() chức năng của bạn

return weight * 100; 

có thể trở thành:

var val= weight * 100; 
return val.toString(); 
2

FontWeight đòi hỏi một chuỗi giá trị và không phải là một số nguyên.

Chỉ cần chắc chắn rằng bạn trả về một chuỗi:

return (weight * 100).toString(); 

Make cũng chắc chắn rằng "trọng lượng" biến của bạn không phải là bằng zero.

1

Bạn có thể sử dụng StyleSheet từ react-native mô-đun, một cái gì đó như thế này:

import StyleSheet from 'react-native' 

// declare the styles using Stylesheet.create 
const myStyles = StyleSheet.create({marginTop:30}) 

//... some code inside render method 

<Text style={myStyles}> 
     This is an example 
</Text> 
Các vấn đề liên quan