虽然有类似的问题,但我无法创建具有多个功能的文件.不确定该方法是否已经过时,因为RN正在快速发展.如何在本机中创建全局辅助函数?
我是React Native的新手.
我想要做的是创建一个充满许多可重用函数的js文件,然后将其导入组件并从那里调用它.
到目前为止我一直在做的事情可能看起来很愚蠢,但我知道你会在这里提出要求.
我尝试创建一个类名Chandu并像这样导出它
'use strict';
import React, { Component } from 'react';
import {
AppRegistry,
Text,
TextInput,
View
} from 'react-native';
export default class Chandu extends Component {
constructor(props){
super(props);
this.papoy = {
a : 'aaa'
},
this.helloBandu = function(){
console.log('Hello Bandu');
},
}
helloChandu(){
console.log('Hello Chandu');
}
}
Run Code Online (Sandbox Code Playgroud)
然后我将其导入任何所需的组件.
import Chandu from './chandu';
Run Code Online (Sandbox Code Playgroud)
然后像这样称呼它
console.log(Chandu);
console.log(Chandu.helloChandu);
console.log(Chandu.helloBandu);
console.log(Chandu.papoy);
Run Code Online (Sandbox Code Playgroud)
唯一有效的是第一个console.log,这意味着我正在导入正确的路径,但不会导入任何其他路径.
请问这样做的正确方法是什么?
我试图使用多个过滤器+使用自定义过滤器功能过滤列表.
最初的工作jsfiddle示例是http://jsfiddle.net/ed9A2/1/,但现在我想改变年龄过滤方式.
我想添加自定义过滤器,这样的年龄就筛选基于这两个输入值MIN_AGE和MAX_AGE,(年龄之间).
在研究了doc之后.我发现人们有类似的问题和用户Mark Rajcok回答http://docs.angularjs.org/api/ng.filter:filter#comment-648569667看起来不错,应该可以正常工作.但我有问题将其应用到我的代码中,这主要是因为我有其他多个过滤器.
我对AngularJS很新:(
我试过而且不工作的小提琴就在这里http://jsfiddle.net/ed9A2/20/
我的NOT工作代码的复制粘贴在这里
视图
<div ng-app ng-controller="MainController">
<table class="fancyTable">
<tr>
<th>Player id</th>
<th>Player name</th>
<th>Age</th>
</tr>
<tr>
<td><input ng-model="player_id" /></td>
<td><input ng-model="player_name" /></td>
<td>
Min Age:<input ng-model="min_age" />
Max Age:<input ng-model="max_age" />
</td>
</tr>
<tr ng-repeat="player in players | filter:{id: player_id, name:player_name, age:ageFilter}">
<td>{{player.id}}</td>
<td>{{player.name}}</td>
<td>{{player.age}}</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
调节器
function MainController($scope) {
$scope.player_id = "";
$scope.player_name = "";
$scope.player_age = "";
$scope.min_age = 0; …
Run Code Online (Sandbox Code Playgroud) 我有一个<button>
带有超链接标签的内容,如下所示:
<button class="btn"><a href="#"></a></button>
Run Code Online (Sandbox Code Playgroud)
这在Chrome和Safari中运行良好,但在Firefox中不起作用(测试版本20).
怎么了?
因此,我将 Material UI Autocomplete 组件与 Next.js 一起使用,并收到此警告,我尝试解决但无法解决。错误来自 renderInput 函数吗?如果是这样,“...params”中没有“key”属性,所以我无法像警告消息建议的那样删除。
我该如何解决这个问题?
const top100Films = ['a', 'b', 'c', 'd'];
// props.tags = ['a', 'c']
<Autocomplete
multiple
id="tags-outlined"
onChange={(event: any, newValue: string[]) => {
props.onTagsChange(newValue);
}}
options={top100Films}
value={props.tags}
filterSelectedOptions
renderInput={(params) => (
<TextField
{...params}
label="Tags"
placeholder="Tag"
/>
)}
/>
Run Code Online (Sandbox Code Playgroud)
hydration-error-info.js?32aa:26 Warning: A props object containing a "key" prop is being spread into JSX:
let props = {key: someKey, tabIndex: ..., role: ..., id: ..., onMouseOver: ..., onClick: ..., onTouchStart: ..., data-option-index: ..., aria-disabled: …
Run Code Online (Sandbox Code Playgroud) 我想在我的项目https://github.com/rt2zz/react-native-drawer中使用这个插件.我可以正确地运行示例,但有问题集成它.
我在方法openDrawer中遇到错误."无法读取未定义的属性抽屉"
我猜我没有以正确的方式定义和使用该类,因为它应该是(我是javascript OOP的新手),例如它使用React.createClass({
不像我的扩展Component和构造函数.
我班的相关代码如下.
class Search extends Component {
constructor(props) {
super(props);
this.state = {
isLoading: true,
dataSource: new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2
})
};
}
openDrawer(){
this.refs.drawer.open()
}
getInitialState(){
return {
drawerType: 'overlay',
}
}
Run Code Online (Sandbox Code Playgroud)
渲染是
render() {
if (this.state.isLoading) {
return this.renderLoadingView();
}
var controlPanel = <MyControlPanel closeDrawer={() => {this.refs.drawer.close()}} />
return (
<View>
<View style={styles.topBar}>
<Drawer
ref="drawer"
>
<MyMainView
/>
</Drawer>
<Text style={styles.topBarMenu}>☰</Text>
<Text style={styles.topBarTitle}>?????????</Text>
<Text style={styles.topBarRight}></Text>
</View>
Run Code Online (Sandbox Code Playgroud) 我刚刚从http://docs.angularjs.org/api/ng.filter:orderBy中获取了最简单的演示 ,只需将age的值更改为具有不同的数字位数.它停止按预期工作.它的排序就像"字符串"而不是"整数"值.我应该如何更改它以便按年龄顺序排列整数值?
Plunkr演示在这里 http://plnkr.co/edit/pzgiIYrki7jUZdVaTMt9?p=preview
代码是:
function Ctrl($scope) {
$scope.friends =
[{name:'John', phone:'555-1212', age:'2352345'},
{name:'Mary', phone:'555-9876', age:'4235243'},
{name:'Mike', phone:'555-4321', age:'241'},
{name:'Adam', phone:'555-5678', age:'34325'},
{name:'Julie', phone:'555-8765', age:'1234'}]
$scope.predicate = '-age';
}
<!doctype html>
<html ng-app="App">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div ng-controller="Ctrl">
<pre>Sorting predicate = {{predicate}}; reverse = {{reverse}}</pre>
<hr/>
[ <a href="" ng-click="predicate=''">unsorted</a> ]
<table class="friend">
<tr>
<th><a href="" ng-click="predicate = 'name'; reverse=false">Name</a>
(<a href="" ng-click="predicate = '-name'; reverse=false">^</a>)</th>
<th><a href="" ng-click="predicate = 'phone'; reverse=!reverse">Phone …
Run Code Online (Sandbox Code Playgroud) 我理解正确吗?这两套代码的意思是否相同?在性能或可靠性上有什么区别吗?
<ScrollView
onScroll={Animated.event(
[{nativeEvent: {contentOffset: {y: this.state.scrollY}}}]
)}
>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
和
handleScroll(e){
this.setState({ scrollY : e.nativeEvent.contentOffset.y });
}
<ScrollView
onScroll={(e) => this.handleScroll(e)}
>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在使用FCM
,我可以成功发送推送通知到我的应用程序.我想使用自定义通知图标,但它始终显示白色图标.我运行Lollipop
.
从它说的文档
icon可选,字符串表示通知图标.为可绘制资源myicon将值设置为myicon.
(我不确定它究竟是什么意思).但这就是我所做的.
我从这里生成了图标.它确实有只有白色文字和透明背景的图标.图标的示例截图图片是
我编辑了我的AndroidManifest并添加了这个 android:icon="@drawable/ic_stat_set" in <Application
我尝试在设备上运行项目,新的应用程序图标ic_stat_set被用作app启动器.
从控制台我发送通知,我确实收到它,但它不是我刚设置的图标.
我也试过通过api发送.我确实收到了通知,但没有收到我设置的图标.
curl -X POST --header "Authorization: key=SERVERKEY" --Header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{\"to\":\"REGISTERATION-TOKEN-ID\",\"notification\":{\"body\":\"Yellow\" , \"icon\" : \"ic_stat_set\"} \"priority":\"10"}"
更新:我的可绘制图标文件是https://drive.google.com/open?id=0B5Fi1l7EbQ_BOERUMzNuQy1OWXM
我是否必须在控制台中的某些自定义数据文件中添加内容?我的偶像?我错过了什么?
谢谢
我正在寻找可以像findOrDo()的东西.就像没有找到数据时一样.有点像
Model::findOrDo($id,function(){
return "Data not found";
});
Run Code Online (Sandbox Code Playgroud)
在laravel有任何类似的东西,我可以优雅和美丽地做到这一点?
*我试过谷歌搜索但找不到
好的,我将组件导入为
import Payment from './pages/payment';
import Chat from './pages/chat';
Run Code Online (Sandbox Code Playgroud)
现在我正在使用Drawer
组件并将它与Navigator
我的 renderScene一起使用变成这样
if( route.id == 'payment'){
return <Drawer xx={} yy={} and a lot more >
<Payment navigator={navigator} />
</Drawer>
}
if(route.id == 'chat'){
return <Drawer xx={} yy={} and a lot more >
<Chat navigator={navigator} />
</Drawer>
}
Run Code Online (Sandbox Code Playgroud)
那些冗长的Drawer
代码被一次又一次地使用。我想将那个<Payment navigator={navigator} >
或另一个存储到一个变量中,然后Drawer
只返回一次。
我如何存储它并用 Drawer 归还它?
谢谢
react-native ×4
angularjs ×2
javascript ×2
reactjs ×2
android ×1
firefox ×1
html ×1
laravel ×1
laravel-5.1 ×1
material-ui ×1
php ×1